0
我有以下代码,我试图从常规页面更改为ajax页面,所以当我提交表单时,我只刷新LInkList DIV。我更改使用线上使用Ajax.BeginForm它似乎整个页面刷新,甚至认为我正在使用Ajax.Beginform
这里是查看代码:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<div id="LinkList">
<% Html.RenderPartial("TestUserControl", Model); %>
</div>
<%using (Ajax.BeginForm("AddNewLink", "Test", new AjaxOptions { UpdateTargetId = "LinkList" }))
{ %>
<fieldset style="text-align: left">
<legend>Add New Link</legend>
<table>
<tr>
<td>
Url:
</td>
<td>
<input style="width: 500px" type="text" name="url" />
</td>
</tr>
<tr>
<td>
<input type="submit" value="Add Link" name="submit" />
</td>
</tr>
</table>
</fieldset>
<% } %>
这里是控制器代码:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddNewLink(FormCollection collection_)
{
string url = collection_["url"].ToString();
Test test = new Test();
test.Name = DateTime.Now.ToString();
if (Request.IsAjaxRequest())
{
return PartialView("TestUserControl", test);
}
return View("Index", test);
}
任何想法,为什么整个页面将在此刷新情况,而不是只是什么在div标签? Request.IsAjaxRequest()总是返回false。
我把这个和IsAjaxRequest()返回false。有任何想法吗? – leora 2009-09-12 01:26:38
您是否在客户端检查了导致您的JavaScript提交代码无法运行的JavaScript错误。如果你的javascript坏了,它会做一个完整的帖子。 – tvanfosson 2009-09-12 01:29:21
我刚刚创建了一个新的testController,并且测试视图没有javascript,并且isajaxrequest仍然返回false。我已更新问题 – leora 2009-09-12 02:14:13