0

我最近一直在使用 WebMatrix,我一直在想是否可以将数据注入对象。

我曾经使用 Struts2,如果你熟悉它,如果你有一个输入,比如<s:textfield name="model.property" .../>插入到该文本字段中的值将被注入到模型对象中,或者模型对象中的值将被注入到文本字段中时页面已加载(这取决于处理到网页中的逻辑)。

到目前为止,在 WebMatrix 中,我已经看到了这种类型的数据注入value="@Request.QueryString["searchGenre"]",您可以在其中访问 Razor 代码中的变量的值并将其分配给 html 控件,但是可以反向完成吗?我可以在 html 控件内的 Razor 代码中放置对对象的引用,并在提交页面时将值注入到对象中吗?

我知道我可以访问请求中的查询字符串值,但我想知道这种方法是否可行。

那么可以做到吗?还是我可以采取不同的方法?我想缩短我的编码时间,所以我愿意接受建议。

谢谢你的帮助。

4

1 回答 1

0

是的,您可以为 HTML 表单控件提供任何您喜欢的默认值。约定是将值设置为相应的 Request.Form 或 QueryString 值,这样如果表单验证失败,用户提供的值将被持久化:

<input type="text" name="color" value="@Request["color"]" />

但是,您可以将其设置为默认值,并在表单发布时将其重置,以便您获取用户提供的任何内容:

@{
    var color = Request["color"].IsEmpty() ? "Red" : Request["color"];
}
<input type="text" name="color" value="@color" />

或者,如果您想为表单使用 Html Helpers 以获得更“敏捷”的感觉:

@{
    var color = Request["color"].IsEmpty() ? "Red" : Request["color"];
}
@Html.TextBox("color", color)
于 2012-12-18T21:14:39.717 回答