72

からCreatePerson(int id)渡したい関数があります。id@Url.Action

以下は参照コードです。

public ActionResult CreatePerson(int id) //controller 
window.location.href = "@Url.Action("CreatePerson", "Person") + id";

上記のコードは、関数にid値を渡すことができませんCreatePerson

4

10 に答える 10

122

この方法で渡すことができます:

Url.Action("CreatePerson", "Person", new RouteValueDictionary(new { id = id }));

または、このように渡すこともできます

Url.Action("CreatePerson", "Person", new { id = id });
于 2012-10-22T18:33:26.170 に答える
2

Controller から View に値を渡すには、次のようにします。

ViewData["ID"] = _obj.ID;

ビューからコントローラーに値を戻す方法は次のとおりです。

<input type="button" title="Next" value="Next Step" onclick="location.href='@Url.Action("CreatePerson", "Person", new { ID = ViewData["ID"] })'" />
于 2015-08-12T07:53:16.377 に答える
1

これを試して

public ActionResult CreatePerson(string Enc)

 window.location = '@Url.Action("CreatePerson", "Person", new { Enc = "id", actionType = "Disable" })'.replace("id", id).replace("&amp;", "&");

Enc 文字列内の ID を取得します。

于 2017-12-19T05:04:11.687 に答える
0

この方法で渡す必要があります:

public ActionResult CreatePerson(int id) //controller 
window.location.href = "@Url.Action("CreatePerson", "Person",new { @id = 1});
于 2015-04-06T18:35:44.020 に答える
0
@Url.Action("Survey", "Applications", new { applicationid = @Model.ApplicationID }, protocol: Request.Url.Scheme)
于 2016-09-06T12:21:03.730 に答える
0

Url.ActionJavaScript内で使用している場合は、次のことができます

var personId="someId";
$.ajax({
  type: 'POST',
  url: '@Url.Action("CreatePerson", "Person")',
  dataType: 'html',
  data: ({
  //insert your parameters to pass to controller
    id: personId 
  }),
  success: function() {
    alert("Successfully posted!");
  }
});
于 2017-08-14T05:41:26.370 に答える