我以前遇到过这个问题而且不能为我的生活记住如何修复它 或者我在谷歌上搜索它。
我从一个部分视图的行动中传回来
return PartialView("CommentsListControl", recipe.Comments);
但这会加载一个新的网页而不是我的div为什么??????????
<table width="100%">
<tr><td>
<div id="divComments">
<% using (Ajax.BeginForm("CreateComment", new AjaxOptions { UpdateTargetId = "divCommentsList", InsertionMode = InsertionMode.Replace }))
{ %>
<textarea id="comments" name="comments" rows="3" cols="60"></textarea>
<table width="100%"><tr><td align="right">
<a href="#" id="savecomment">Save Comment</a>
<%= Html.Hidden("recipeid", Model.RecipeID) %>
</td></tr>
</table>
<% } %>
</div>
</td></tr>
<tr><td>
<div id="divCommentsList">
<% Html.RenderPartial("CommentsListControl", Model.Comments); %>
</div>
</td></tr>
</table>
答案 0 :(得分:1)
您展示的示例在表单上没有提交按钮。在WebForms中,您可以使用“asp:Hyperlink”控件生成一个看起来喜欢它提交表单的链接,但那是因为WebForms正在为您实现JavaScript。在MVC中你必须自己做。尝试将“保存评论”链接换成提交按钮:
<input type="submit" value="Save Comment" />
然后使用CSS将按钮设置为您心中的内容。