使用MVC使用传入的URL参数填充输入文本

时间:2016-11-29 11:48:14

标签: javascript c# jquery html asp.net-mvc

我在一个视图中有一个链接,当我点击它时会转到另一个视图,将id参数传递到URL中,如下所示:

double RBM::propdown(int *h, int i, double b) {
#pragma acc data region \
copyin(w[0:(n_hidden*i)-1],h[0:n_hidden],b) create(pre_sigmoid_activation)
double pre_sigmoid_activation = 0.0;
#pragma acc parallel loop reduction(+:pre_sigmoid_activation) 
for(int j=0; j<n_hidden; j++) {
pre_sigmoid_activation += W[j][i] * h[j];
}
pre_sigmoid_activation += b;  
return sigmoid(pre_sigmoid_activation);
#pragma acc exit data \
delete ( pre_sigmoid_activation)
}

该URL正在调用控制器的此方法操作:

<a href=Gestion/ImagenesPublicacion?id=2 class="alert-link">Publicar imagen</a>

此动作方法是渲染此视图的HTML,其中包含我想用id参数填充的输入文本:

    [Authorize]
    public ActionResult ImagenesPublicacion(int id)
    {
        return View();
    }

我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

使用以下方法

 [Authorize]
public ActionResult ImagenesPublicacion(int id)
{
   ViewBag.Id = id.ToString();
   return View();
}

并在视图中更改属性

<div class="col-lg-6">
<p><strong>Nº Expediente:</strong></p>
<input class="form-control" id="ExpedienteNro" name="ExpedienteNro" type="number" placeholder="Nº Expediente" value="@ViewBag.Id" required autocomplete="off">

答案 1 :(得分:0)

如果您完全确定只需要一个值,则可以将其设置为整个模型。

public ActionResult Index(int id = 0)
{
    return View(id);
}

和视图

@model int

<div class="col-lg-6">
    <p><strong>Nº Expediente:</strong></p>
    @Html.TextBox("NoExpediente", Model, new { @class = "form-control",
        @type = "number", placeholder = "Nº Expediente", 
        autocomplete = "off" })    
</div>

虽然评论建议你可能更喜欢使用模型。特别是如果您想将页面发布回服务器,与强类型@Html.TextBoxFor()方法相比,或者只是从ViewBag中填充值,就会产生更大的拼写错误风险。