gpt4 book ai didi

jquery - 从 asp.net mvc 操作调用 jquery 函数

转载 作者:行者123 更新时间:2023-12-01 05:09:22 24 4
gpt4 key购买 nike

将表单发布到数据库后,是否可以从 asp.net mvc 调用 jquery.....

 [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 中执行此操作的方法是简单地将函数添加到 View 的 .aspx 中。页面并将其包装在 $(document).ready(function(){}) 中(或者该函数适用于您的库),以便当页面完全加载时,将调用该函数。

值得注意的是,通过 MVC,您可以完全控制 HTML(包括 JavaScript)输出,并且您应该利用它。在 WebForms 中,最好避免使用内联标签 <% %> ,在 MVC 中,您应该使用它们来生成您想要的 HTML。

因此,假设 Insert to db会返回一些东西,比如 ID ,你可以把这个ID ViewData 中的值或TempData因为您正在使用 RedirectToAction然后用它来调用函数。

    [AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection collection)
{
int newID = InsertToDBAndReturnID();
ViewData["MyID"] = newID;
return View();
}

.aspx 的某个地方用于 Create 的页面行动:

   <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>

渲染页面时,<%: ViewData["MyID"] %>替换为操作中生成的实际值。

关于jquery - 从 asp.net mvc 操作调用 jquery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3170394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com