Nig*_*iri 4 c# jquery asp.net-mvc-3
我想使用ajax渲染局部视图.
提交按钮时,必须呈现局部视图.
我可以使用ActionLink实现它,但我想通过JavaScript调用Action.
但是以下代码不起作用.调用Action但不呈现局部视图.
视图
@section script{
<script type="text/javascript">
function test() {
$.ajax(
{
type: "POST",
url: "Test",
data: "",
success: function (result) { alert("OK!!"); },
error: function (req, status, error) {
alert("Damn!!");}
});
}
</script>
}
<input type="submit" onclick="test()" />
<div id="Container">
Run Code Online (Sandbox Code Playgroud)
调节器
public ActionResult Test()
{
if (Request.IsAjaxRequest())
{
return PartialView("ViewUserControl1");
}
return View();
}
Run Code Online (Sandbox Code Playgroud)
部分视图ViewUserControl1
Hello world
Run Code Online (Sandbox Code Playgroud)
这有效,但不是我想做的
@Ajax.ActionLink("click me", "Test", new AjaxOptions { UpdateTargetId = "Container" })
Run Code Online (Sandbox Code Playgroud)
小智 6
您的网址可能不正确.它取决于Global.asax中定义的路由设置.但是,如果您的操作位于HomeController中,通常您的网址应该看起来像"/ Home/Test".最好使用url helper来获取动作的url:
...
url: '@Url.Action("Test", "Home")'
...
Run Code Online (Sandbox Code Playgroud)
你可以用下一个方式呈现你的部分:
...
success: function (result) { $('#elementId').html(result) },
...
Run Code Online (Sandbox Code Playgroud)
此外,如果您想要更新块,请不要忘记先清除它,如果它包含不显眼的验证形式 - 解析表单.
| 归档时间: |
|
| 查看次数: |
11594 次 |
| 最近记录: |