2012-05-02 30 views
2

默認文本MVC asp.net VB語法如何設置一個TextBoxFor元素的默認文本(在創建視圖):爲TextBoxFor

@Html.TextBoxFor(Function(model) model.QualityM1s, New With {Key .text="0"}) 
+0

如果您希望設置'某個值',如果模型屬性沒有任何內容或null,那麼您可以使用'@ Html.TextBoxFor(..)',這是不可能的'@ Html.TextBox(...)'。如果您嚴格使用'@ Html.TextBoxFor(..)',那麼您最好構建自定義的HTML Helper來完成這項工作。 –

回答

4

不清楚自己的默認文本是什麼意思。如果你想預初始化一些值的文本框,你可以使用普通的文本框:

@Html.TextBoxFor(Function(model) model.QualityM1s) 

,然後你可以只模型傳遞給視圖之前設置相應的視圖模型屬性到控制器的動作裏面的默認值:

model.QualityM1s = "some default text" 
return View(model) 

TextBoxFor幫助程序將使用您的模型屬性的值來填充相應的文本框。

如果你想申請一個水印效果,你有2種可能:

  • 使用新的HTML 5 placeholder attribute(這顯然會認爲客戶端瀏覽器支持的話):

    @Html.TextBoxFor(Function(model) model.QualityM1s, New With { Key .placeholder = "some default text"}) 
    
  • 使用javascript。例如有many jQuery watermark plugins

+0

嗨 - 謝謝你 - 我的控制器內,它說: 'GET:/ MPEmployees /創建 功能的Create()作爲的ActionResult 返回查看() 端功能 如果我嘗試引用內部的模型代碼的一部分,它只是建議它沒有被定義。 – Mark

+0

這意味着你的控制器操作是錯誤的。你的視圖是強類型的某個模型(在你的視圖的頂部有一個'@ ModelType'指令)。您需要將此模型的實例傳遞給視圖。像這樣:'Dim model = New SomeModel()model.QualityM1s =「一些默認文本」return View(model)'。 –