表格提交结束时的事件



我有这个:

<form id="import_form" method="post" enctype="multipart/form-data" action="/Blah/Blah">
    <input type="file" id="fileUpload" name="fileUpload"/>
    <input type="submit" name="submit" value="Import"/>
</form>
$('#import_form').submit(function () {
    ...
});

这是C#方法:

[AcceptVerbs(HttpVerbs.Post)]
public string Blah(HttpPostedFileBase fileUpload, FormCollection form)
{ ... }

我想要当Blah完成执行Javacript代码以开始执行时。这个怎么做?
提交事件是在此之前调用的。

这取决于表格的提交方式。

如果您是通过Ajax提交表单,则可以在处理程序中执行一些JavaScript以进行响应。但是,鉴于有一个submit按钮,我 at 暂时不通过Ajax进行此操作,而是将整个页面发布到服务器上并呈现响应。

在这种情况下,要执行一些javaScript 在下一页的一部分中,您将需要在服务器的响应中渲染JavaScript。当服务器构造视图时,请在该视图中包含要执行的JavaScript。

请记住网络的请求/响应性质。当服务器上执行某些内容时,客户端不知道它并与之断开连接。任何服务器端处理的最终结果都应是对客户端的HTTP响应。如果提交表单或单击链接或导致页面重新加载的任何内容,则该响应是新页面(视图)的形式。因此

编辑:我刚刚注意到Blah正在返回string。这甚至对您有用吗?表格如何在新视图中提交结果?或者我不知道ASP.NET MVC中的功能?

这是我最终所做的。

我的表格返回与之完全相同的视图。

我在blah方法中添加了一个ViewData。

在视图中,在$(function())事件中,我检查查看data是否具有值,我执行JavaScript代码。

最新更新