我在使用MVC 3时遇到了麻烦,我无法正常显示部分视图。
这是我的困境:
在我的主页/索引视图中,我有一个动作链接到我的控制器/动作,发布/创建:
<p>
@Html.ActionLink("Create Post", "Create", "Post")
</p>
<div id="PostCreation">
</div>
我的创建视图是一个partialView,其中包含标题,内容等的基本形式:
@using (Html.BeginForm())
{
<div>
<fieldset>
<legend>Post Creation</legend>
<div class="editor-label">
@Html.LabelFor(m => m.PostTitle)
</div>
<div class="editor-field">
@Html.TextAreaFor(m => m.PostTitle)
</div>
<p>
<input type="submit" value="Publish" />
</p>
</fieldset>
</div>
}
我在_Layout.cshtml文件中添加了一些jQuery来捕获属性的点击次数:
<script type="text/javascript">
$(document).ready(function () {
$('a').live('click', function () {
$.get($(this).attr('href'), function (html) {
$('#PostCreation').html(html);
});
});
});
</script>
然后点击应该更新Home / Index视图中的PostCreation div。
使用firebug我发现当我逐步执行jQuery时,ParialView会在Home / Index中正确呈现,但是一旦我完成了jQuery函数,它就会呈现一个只显示Post / Create表单的整个新页面。 p>
感谢任何帮助。感谢。
答案 0 :(得分:1)
您需要取消jQuery中的导航。
尝试将.live()
签名更改为:
$('a').live('click', function (e) {
e.preventDefault();
$.get($(this).attr('href'), function (html) {
$('#PostCreation').html(html);
});
});