2012-10-22 10 views

risposta

88

si può passare in questo modo:

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

O può anche passare in questo modo

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

Cosa succede se il codice è all'interno di javascript? 'window.refresh ({url: '@ Url.Action (" CreatePerson "," Person ", new {id = Id})',' -> questo codice si interrompe perché non posso passare una variabile lì. funziona se hardcoded: '@ Url.Action (" CreatePerson "," Person ", new {id =" someId "}) ',' -> Come fare questo lavoro? – chiapa

+0

Sto cercando anche questa risposta –

+0

Se un la funzione è in un file javascript quello che puoi fare è mettere l'url sulla vista in un campo nascosto e poi chiamarlo usando javascript. es .: @ Url.Action ("CreatePerson", " Persona ", nuovo {id = Id}) <\input> Quindi chiamarlo in javascript: $ (" # url "). Val(); –

0

si dovrebbe passare in questo modo:

public ActionResult CreatePerson(int id) //controller 
window.location.href = "@Url.Action("CreatePerson", "Person",new { @id = 1}); 
2

questo modo per passare valore da Controller a View:

ViewData["ID"] = _obj.ID; 

Ecco il modo per passare il valore di Vista e il regolatore di nuovo:

<input type="button" title="Next" value="Next Step" onclick="location.href='@Url.Action("CreatePerson", "Person", new { ID = ViewData["ID"] })'" /> 
11
public ActionResult CreatePerson (string id) 

window.location.href = '@Url.Action("CreatePerson", "Person" , new {id = "ID"})'.replace("ID",id); 

public ActionResult CreatePerson (int id) 

window.location.href = '@Url.Action("CreatePerson", "Person" , new {id = "ID"})'.replace("ID", parseInt(id)); 
0
@Url.Action("Survey", "Applications", new { applicationid = @Model.ApplicationID }, protocol: Request.Url.Scheme) 
-2
public ActionResult CreatePerson(int id) //controller 

window.location.href = '@Url.Action("CreatePerson", "Person")?id=' + id; 

O

var id = 'some value'; 
window.location.href = '@Url.Action("CreatePerson", "Person", new {id = id})'; 
0

Se si utilizza Url.Action all'interno JavaScript allora si can

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!"); 
    } 
}); 
0

provare questo

pubblico ActionResult createPerson (stringa Enc)

window.location = '@ Url.Action ("createPerson", "Persona", nuova {Enc = "id", actionType = "Disabilita"}) ". replace (" id ", id) .replace (" & "," & ");

si otterrà l'id all'interno della stringa Enc.

Problemi correlati