我们如何在Spark视图中表示以下视图代码?

时间:2010-02-04 04:03:11

标签: asp.net-mvc spark-view-engine

<% using (Html.BeginForm("AddToCart", "Cart")) { %>        
    <%= Html.Hidden("ProductID", pr.ProductID) %>
    <%= Html.Hidden("returnUrl", ViewContext.HttpContext.Request.Url.PathAndQuery) %>
    <input type="submit" value="+ Add to cart" />
 <% } %> 

目前我正在使用

# using (Html.BeginForm("AddToCart", "Cart")) {
    ${Html.Hidden("ProductID", pr.ProductID)}
    ${Html.Hidden("returnUrl", ViewContext.HttpContext.Request.Url.PathAndQuery)}
    <input type="submit" value="+ Add to cart" />
 #} 

这是正确的方法吗?任何更好的方法?

2 个答案:

答案 0 :(得分:1)

使用新的Bindings功能,使用最新版本的Spark(v1.5)有一个更好的方法。您可以阅读my blog post on it here,其中包含Html表格示例。

基本上你的Spark视图中的html表单代码最终正确地使用了MVC Html Form Helper,但看起来很棒:

<Form class="form-default">
    <ValidationSummary Message="Login was unsuccessful.
    Please correct the errors and try again." ExcludePropertyErrors="true" />
    <div class="editor-label">
         <Label For="UserName" />
    </div>
    <div class="editor-field">
         <TextBox For="UserName" /><ValidationMessage For="UserName"/>               
    </div>
    <div class="editor-label">
         <Label For="Password" />
    </div>
    <div class="editor-field">
         <Password For="Password" /><ValidationMessage For="Password" />
    </div>
    <div class="editor-label">
        <CheckBox For="RememberMe" />
        <Label For="RememberMe" />
    </div>
    <input type="submit" value="Log On" />
</Form>

您还可以在Spark code base here中看到使用它的代码示例项目。

希望有所帮助,
罗布

答案 1 :(得分:0)

我假设您指的是如何处理表单标记。你可以这样做:

#Html.BeginForm("AddToCart", "Cart");
...
#Html.EndForm();