我有一个呈现搜索ascx页面的ASPX页面,它反过来将填充主ASPX页面上的网格。除此之外,我还有一个上传文件的ascx页面,如下所示:
<form method="post" action="<%= Url.Action("UploadFile") %>" enctype="multipart/form-data">
<fieldset>
<input type="file" name="file" id="file" />
<%=Html.ButtonSubmit("Upload") %>
</fieldset></form>
这就是问题所在:假设我搜索了要在网格上显示的单个条目。网格显示了这个条目,在wards之后,我上传了一个文件,然后按下了" upload“按钮。整个页面被张贴,网格中的内容丢失,现在显示所有可用的结果。我能做些什么来防止这种情况的发生,保持网格状态(我们没有使用ViewState),或者在上传文件时不返回整个页面,而只返回ascx?
注意:我是MVC的新手。
发布于 2010-06-11 19:42:01
您的局部视图将呈现在HTML中...这导致了一个单独的“静态”HTML文件,没有选项提交和重新加载它的一部分。
我可以想象两种方法来解决你的问题:
1)把你的upload-formular放在一个HTML-iFrame里面...现在只有这个iFrame会在提交时重新加载。问题:父框架和子框架之间的通信使上载的数据可用,这取决于您希望在上载后执行的操作。
2)使用jQuery/AJAX进行基于JavaScript的提交(http://api.jquery.com/jQuery.post/),并使用jQuery/JavaScript动态刷新页面内容。这将是我首选的方式,但需要更多关于jQuery/JavaScript的知识。
顺便说一句: jQuery几乎是任何asp.net mvc应用程序的必备组件;-)
欢迎使用MVC :-)
https://stackoverflow.com/questions/3022298
复制相似问题