-2

我有一个 asp.net mvc4 应用程序,我将在其中使用.postajax 的函数在我的视图中发布一个变量。我有这个问题,我把它贴在这里:问题,所以我现在试图通过使用来解决它Ajax

查看:index.cshtml

<td> 
         <a href="#" onClick="openbox2('Validation de concept technique', 1)" data-arr="@fa.Id_element">Donner votre avis</a>. 
        </td>

<form method="Post" action="/User/Validate_Expert_Decision" target="_parent">
   <span>
        <b style="color:red" >
        Votre justification * 
        <b />

          <br />
          <br />
      <textarea rows="10" cols="75" name="justification"></textarea>
    </span>
      <input type="hidden" name="element" value="@Request.Params["element"]" />

    <p> 
      <input type="submit" name="submit">
      <input type="button" name="cancel" value="Annuler" onClick="closebox()">
    </p>
</form>

javascript函数

 function openbox2(formtitle, fadin) {
         var self = $(this);
         var arr = self.data('arr');
         $.post("/index.cshtml", { element: arr });

         var box = document.getElementById('box');
         document.getElementById('shadowing').style.display = 'block';

         var btitle = document.getElementById('boxtitle');
         btitle.innerHTML = formtitle;

         if (fadin) {
             gradient("box", 0);
             fadein("box");
         }
         else {
             box.style.display = 'block';
         }
     }

控制器:Validate_Expert_Decision

 public ActionResult Validate_Expert_Decision() 
 {
     string id_element = Request.Params["element"];
     return RedirectToAction("Display_Task_List", new { id_project = id_project});
 }

问题是我总是得到一个空值id_elementin string id_element = Request.Params["element"];

这个错误的原因是什么?我该如何解决?

4

1 回答 1

2

如果你想发布一个 ajax 请求,你必须在这个模式中使用 url:

/Area/Controller/Action

在您的 ajax 请求中,您指定您的视图名称,但 ajax 请求的 url 必须是:

$.post("@Url.Action("ActionName, ControllerName, new { Area = "AreaName" }")", { element: arr });

如果你没有区域,只需删除最后一个参数。

而不是Request.Params["element"]您可以通过您的操作方法中的参数轻松获取您的变量:

public ActionResult Validate_Expert_Decision(string element) 

** 如果你想学习 ASP.Net MVC,我建议你阅读这本书: Pro ASP.Net MVC 4

这是迄今为止我读过的最好的书之一

于 2013-10-24T08:44:43.043 回答