2
當我使用下面的代碼時,我得到一個友好的錯誤信息(和YSCD一樣友善)告訴我我不應該使用'@',但是當我不使用它時,我的表單聲明呈現爲文字Razor代碼,而不是預期的HTML元素。我究竟做錯了什麼?如何在Razor中有條件地渲染表單?
@if (Model.Step == Trocrates.Web.Models.PasswordResetModel.PasswordResetSteps.StartRequest)
{
@using (Html.BeginForm()) { Html.ValidationSummary(true);
<fieldset style="border: 0px;">
<div class="editor-label">
@Html.LabelFor(model => model.UserName);
</div>
<div class="editor-field">
Html.EditorFor(model => model.UserName) Html.ValidationMessageFor(model => model.UserName)'
<input type="submit" value="Log In" />
@Html.ActionLink("Send", "BeginResetPassword", "Account")
</div>
</fieldset>
}
}
對不起讀者,它最初是在同一行BeginForm引起混亂不太顯眼開括號字形。當我結束時,事情回落到位。
你的代碼在哪裏? – amccormack 2011-05-01 16:31:34
對不起,它現在在那裏,我的評論什麼是錯的。我想我們會保持開放以防其他新手遇到它? – ProfK 2011-05-01 16:43:04
是不是MVC分離關注點的主要觀點?我看到了一個邏輯的視圖,並控制它將呈現的部分。對我來說,這應該通過每個「Model.Step」的單獨視圖來處理,並且邏輯應該由控制器的動作選擇正確的視圖來進行渲染。 – 2011-05-02 08:15:04