Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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
MVC Ajax.begin通知JavaScript参数_Javascript_Jquery_Ajax_Asp.net Mvc_Razor - Fatal编程技术网

MVC Ajax.begin通知JavaScript参数

MVC Ajax.begin通知JavaScript参数,javascript,jquery,ajax,asp.net-mvc,razor,Javascript,Jquery,Ajax,Asp.net Mvc,Razor,我有一个AJAX表单,其中url id需要来自JavaScript @using(Ajax.BeginForm("Add","Comments", new { ArticleID = 3 }, new AjaxOptions { UpdateTargetId="Comments"})) 其中应替换ArticleID=3,以便将ArticleID值设置为与被调用Javascript函数的结果相等。差不多 JS: function GetArticleID() { return 3;

我有一个AJAX表单,其中url id需要来自JavaScript

@using(Ajax.BeginForm("Add","Comments", new { ArticleID = 3 }, new AjaxOptions { UpdateTargetId="Comments"}))
其中应替换
ArticleID=3
,以便将ArticleID值设置为与被调用Javascript函数的结果相等。差不多

JS:

function GetArticleID()
{
      return 3;
}
@using(Ajax.BeginForm("Add","Comments", new { ArticleID = GetArticleID() }, new AjaxOptions { UpdateTargetId="Comments"}))
public ActionResult Add(int ArticleID, Comment model)
{

}
剃须刀:

function GetArticleID()
{
      return 3;
}
@using(Ajax.BeginForm("Add","Comments", new { ArticleID = GetArticleID() }, new AjaxOptions { UpdateTargetId="Comments"}))
public ActionResult Add(int ArticleID, Comment model)
{

}
控制器:

function GetArticleID()
{
      return 3;
}
@using(Ajax.BeginForm("Add","Comments", new { ArticleID = GetArticleID() }, new AjaxOptions { UpdateTargetId="Comments"}))
public ActionResult Add(int ArticleID, Comment model)
{

}
如何使用JavaScript函数结果作为参数

使用(Ajax.BeginForm)的
@行(
将由razor在服务器上执行。当时,razor对客户端浏览器中的javascript方法一无所知。因此,您不能在那里混合使用javascript函数

我更喜欢编写干净的自定义代码来完成ajax表单提交(而不是使用
ajax.BeginForm
),因为它允许我以任何方式进行自定义

保持您的表单与正常表单一样

@using(Html.BeginForm("Add","Comments"))
{
   <input type="hidden" name="ArticleId" id="ArticleId" value=""/>
   <input name="CommentText" type="text" />
   <input type="submit" id="saveCmntBtn" />
}

您的问题是什么?如何使用JavaScript函数结果作为BeginForm参数?将其添加到您的问题中,以便用户更好地理解它。