-2

.postビューに変数を投稿するために ajax の関数を使用する asp.net mvc4 アプリケーションがあります。私はこの問題を抱えていて、ここに投稿しました:質問、だから私は今それを使用して解決しようとしています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});
 }

問題は、常に in の空の値を取得することid_elementです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 に答える