从asp.net mvc操作调用jquery函数
将表单发布到数据库后,是否可以从asp.net mvc调用jquery从asp.net mvc操作调用jquery函数,jquery,asp.net-mvc,Jquery,Asp.net Mvc,将表单发布到数据库后,是否可以从asp.net mvc调用jquery [AcceptVerbs(HttpVerbs.Post)] public ActionResult Create(FormCollection collection) { try { //Insert to db //Call a jquery function
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection collection)
{
try
{
//Insert to db
//Call a jquery function
return RedirectToAction("Index");
}
catch
{
return View();
}
}
我应该在插入后使用
ScriptManager.RegisterClientScriptBlock
还是使用任何其他方法来执行此操作。。。任何建议…否。您不能从操作调用jQuery函数。在MVC中实现这一点的方法是,只需在视图的.aspx
页面中添加函数,然后将其包装到$(document).ready(function(){})
(或者,函数用于您的库),以便在页面完全加载时调用函数
需要注意的是,使用MVC,您可以完全控制HTML(包括JavaScript)输出,您应该利用它。在WebForms中,最好避免使用内联标记
,而在MVC中,您需要使用它们来生成所需的HTML
因此,假设Insert-to-db
将返回一些东西,比如ID
,您可以将这个ID
值放入ViewData
或TempData
中,因为您使用的是重定向到操作
,然后使用它来调用函数
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection collection)
{
int newID = InsertToDBAndReturnID();
ViewData["MyID"] = newID;
return View();
}
以及.aspx
页面中用于创建
操作的某处:
<script type="text/javascript">
$(document).ready(function() {
// I have direct access to the "MyID" value from the action
// so I can utilize it to write any JavaScript with it
$('#'+<%: ViewData["MyID"] %>).click(function(){
alert('You clicked the control with the new ID');
});
});
</script>
$(文档).ready(函数(){
//我可以从操作中直接访问“MyID”值
//所以我可以利用它来编写任何JavaScript
$('#'+)。单击(函数(){
警报(“您使用新ID单击了控件”);
});
});
呈现页面时,
将替换为操作中生成的实际值