Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从asp.net mvc操作调用jquery函数_Jquery_Asp.net Mvc - Fatal编程技术网

从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

将表单发布到数据库后,是否可以从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中实现这一点的方法是,只需在视图的
.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单击了控件”);
});
});
呈现页面时,
将替换为操作中生成的实际值