有时候我们需要动态的将View中的值post 到Controller中做一定的处理,比如ToolTip,下面是JQuery代码:
$(document).ready(function () { var title = "" var toolTip = $("<p id=\"toolTipCss\"></p>") $(".Branch").bind("mouseover mouseout", function (event) { if (event.target.className.toLowerCase() === "branch") { var runID = $(this).parent($(this)).find("td:first").text(); toolTip.appendTo("body").hide(); if (event.type == "mouseover") { $.post("/RunDisplay/BranchInfo", { runID: JSON.stringify(runID) }, function (data) { toolTip.html("<p style=\"background-color:gray;\" class=\"toolTipText\">" + JSON.stringify(data) + "</p>").show().css({ "top": event.clientY - (document.body.scrollTop), "left": event.clientX - (document.body.scrollLeft) + 20, "position": "fixed", opacity: 0 }).animate( { left: "+=10", opacity: 1 }, "5000"); } ) } if (event.type == "mouseout") { runID= ""; toolTip.animate( { opacity: 0 }, "5000"); } } }); });
值得注意的是:
- $.post方法中传入到Controller的Data(第二个参数)名字必须与Controller的参数名一致。
- 使用Post方法时,我们使用"/RunDisplay/BranchInfo"的方式指定Controller,即:/控制器名/动作名。
下面是相应的Action:
[HttpPost] public ActionResult BranchInfo(string runID ) { //一些操作。。。 return Json(runID .ToString()); }