0

私の見解では、これが ASP MVC コードです。コントローラーに発火し、assetId と relationshipContext を渡します。

 @Html.ActionLink("Archive", "Archive", new { assetId = Model.ID, relationshipContext = assetTypeRelation.RelationshipContextID }, new { @class = "btn btn-mini btn-warning", id = "btnArchive" })

この HTML.ActionLink で Ajax を利用したいのですが、少し混乱しています。これが私が始めたjQueryです。基本的に、このアクションリンクが必要なのは、assetId と relationshipContext を私の資産コントローラーの Archive メソッドに渡すためだけです。

$('#btnArchive').click(function(){
                  $.ajax({
                      url: '@Url.Action("Archive", "Archive")',
                      type: 'POST',
                      dataType: 'json',
                      data: {
                          assetId: $(this).attr("assetId"),
                          relationshipContext: $(this).attr("relationshipContext"),
                      },
                      success: function(){
                          alert("success")
                      },
                      error: function () {
                          alert("error")
                      },

                  });
4

2 に答える 2

1

@Ajax.ActionLink をご覧ください

http://msdn.microsoft.com/en-us/library/system.web.mvc.ajax.ajaxextensions.actionlink(v=vs.108).aspx

于 2013-02-28T21:41:13.297 に答える
0

AssetController アクション メソッドはどのように見えますか? 私は次のようになります。

[HttpPost]
public ActionResult Archive(int assetId, string relationshipContext)
{
     //do some work
     return Content("true");
}

また、@Url.Action 呼び出しで間違ったコントローラーを呼び出しています。View コードを次のように変更する必要がある場合があります。

$('#btnArchive').click(function(){
                  $.ajax({
                      url: '@Url.Action("Archive", "Asset")',
                      type: 'POST',
                      dataType: 'json',
                      data: {
                          assetId: $(this).attr("assetId"),
                          relationshipContext: $(this).attr("relationshipContext"),
                      },
                      success: function(data){
                          alert(data)
                      },
                      error: function () {
                          alert("error")
                      },

                  });
于 2013-02-28T22:13:23.593 に答える