我新的ASP.NET MVC。我试图创建我认为是基本功能的东西。我有一个通过“http://myserver.com/Products/Ship/”访问的视图。当用户访问此页面时,系统会提示他们输入产品的序列号。用户输入序列号并点击“下一步”后,我想向他们展示运输选项的下拉列表。我想这样做,同时保持它们在“http://www.myserver.com/Products/Ship”网址。正因为如此,我认为JQuery将是一个合适的答案。在这个过程中,我遇到了一个问题。我无法根据需要进入第二页。ASP.NET MVC - 主/从发布
仅供参考,我的观点的代码如下所示:
<h2>Product Shipping</h2>
<p><form id="myForm" action="/Products/Ship" method="post">
<fieldset>
Product
<%= Html.TextBox("product", null, new{@class = "required product"}) %>
<br />
<input type="submit" value="OK" />
</fieldset>
</form></p>
<script type="text/javascript">
$(document).ready(function() {
$("#myForm").validate({ submitHandler: submitSerialNumber });
});
function submitSerialNumber() {
$post("/Products/Ship", "", function(result) { alert("woohoo 1"); });
}
</script>
我的控制器代码如下所示:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Ship()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult Ship(string serialNumber)
{
// Ensure that a serial number was entered
JsonResult result = null;
if (String.IsNullOrEmpty(serialNumber))
{
result = Json(new { success = false, message = "Please enter a serial number" });
return result;
}
// Obtain the list of options from the database. Hardcoded for testing
result = Json(new { success = true, message = "Option 1 | Option 2 | Option 3" });
return result;
}
现在,当我运行该页面,火狐提示我保存我提交序列号时Json的结果。我在这里?似乎我应该可以通过JavaScript翻转视图。然而,这个帖子使得它很棘手。当用户输入序列号时,我需要一种方法来从数据库中获得一些结果。
谢谢
正如马克建议,你需要设置的回调函数,要采取JSON结果的照顾。 – JOBG 2009-12-10 15:57:24