在發佈此問題之前,我使用他的參數爲EditorForModel進行了搜索。可以用他的參數爲EditorForModel提供一個例子嗎?
我看過Why not use Html.EditorForModel()和這個blog。
我沒有找到我需要的相關文章。
可以給我一個帶參數的EditorForModel的例子嗎?
感謝您
在發佈此問題之前,我使用他的參數爲EditorForModel進行了搜索。可以用他的參數爲EditorForModel提供一個例子嗎?
我看過Why not use Html.EditorForModel()和這個blog。
我沒有找到我需要的相關文章。
可以給我一個帶參數的EditorForModel的例子嗎?
感謝您
有此幫手6 overloads:
@Html.EditorForModel()
呈現~/Views/Shared/EditorTemplates/TypeName.cshtml
模板,其中TypeName
是您的視圖模型的確切類型的名稱。如果您的視圖模型是一個集合(即IEnumerable<TypeName>
,IList<TypeName>
,TypeName[]
,...),ASP.NET MVC將自動爲該集合的每個元素渲染相應的編輯器模板。您不需要在視圖中編寫任何循環來實現這一點。它由框架爲您處理。
@Html.EditorForModel("templatename")
呈現的~/Views/Shared/EditorTemplates/templatename.cshtml
不是依靠常規
@Html.EditorForModel(new { Foo = "bar" })
渲染默認編輯模板,但附加視點數據傳遞給它,你可以用ViewData["foo"]
或ViewBag.Foo
內使用
@Html.EditorForModel("templatename", new { Foo = "bar" })
呈現的~/Views/Shared/EditorTemplates/templatename.cshtml
不是依靠慣例和附加視圖數據傳遞給它,你可以用ViewData["foo"]
或ViewBag.Foo
@Html.EditorForModel("templatename", "fieldprefix")
內使用渲染的~/Views/Shared/EditorTemplates/templatename.cshtml
不是依靠慣例和修改這意味着,例如,如果您在此模板中撥打@Html.TextBoxFor(x => x.FooBar)
,您將獲得name="fieldprefix.FooBar"
而不是name="FooBar"
@Html.EditorForModel("templatename", "fieldprefix", new { Foo = "bar" })
呈現的~/Views/Shared/EditorTemplates/templatename.cshtml
不是依靠慣例和修改導航背景下,這個模板中,這意味着,例如,如果你有這個模板內的@Html.TextBoxFor(x => x.FooBar)
電話,你會得到name="fieldprefix.FooBar"
,而不是name="FooBar"
。它還傳遞了一個附加視圖數據給它,你可以用ViewData["foo"]
或ViewBag.Foo
備註內使用:模板系統將首先查找在~/Views/XXX/EditorTemplates
模板,其中XXX是爲這個視圖和控制器的名稱如果它沒有發現它會查看~/Views/Shared/EditorTemplates
。這可以允許更精細地調整模板。您可以在共享文件夾中擁有默認模板,可以根據每個控制器重寫該模板。