2012-03-16 10 views
0

私のASP.NET MVC 3サイトでは、ユーザーのブラウザにページが送信された後、一部のActionResultのデータをasyncronously取得する必要があります。ASP.NET MVC3でユーザーにフィードされる一意のID

ページを区別するために、各ページに固有の識別子を「装備」する必要があります.JSコードは、いくつかのアクション呼び出しに「パス」としてアクセスできるようにしています。

この識別子は、ビューを返すインデックスアクション上のSystem.Guidとして生成できます。私はそれをViewBagに割り当てて、今後の使用のために自分のデータストレージに保存することができます。 jsコードにアクセスするために、ページ上で何をレンダリングする必要がありますか?隠された入力で十分でしょうか?どのようにこの設定をRazorのマークアップに実装するのですか?

答えて

2

あなたはAJAX呼び出しを行う前に、あなたのjavascriptのコードでこれにアクセスすることができ隠し入力

@Html.HiddenFor(model => model.PageId) 

をレンダリングしますHiddenFor HTMLヘルパーを使用してください。

var pageId=$("#PageId").val(); 
    $.post("mycontroller/action"+pageId,function(data) 
    { 
     //do whatever with response. 
    }); 
1

隠し入力は完璧になる:

<input type="hidden" name="pageId" value="@Model.PageId" /> 
関連する問題