占位符在MVC 5中的@ Html.EditorFor(model => model.Name)中

时间:2015-04-02 11:22:36

标签: c# asp.net-mvc razor asp.net-mvc-5

我在Controller和

中使用了[prompt("name")]
@Html.EditorFor(model => model.Email,
new {placeholder=ViewData.ModelMetadata.Watermark})`

在视野中但没有显示 我也使用了Html5 Placeholders with .NET MVC 3 Razor EditorFor extension?的帮助 但什么都没发生 我需要占位符@EditorFor而不是Textbox 感谢任何帮助

3 个答案:

答案 0 :(得分:4)

您可以使用以下语法将HTML属性写入Html.EditorFor。确保在类和占位符之前使用@,以便渲染器知道这是HTML标记。

@Html.EditorFor(model => model.Email, new { 
    htmlAttributes = new { 
        @class = "form-control", 
        @placeholder = "Email Address"
    }
})

答案 1 :(得分:1)

使用TextBoxFor为我工作。

public function order(Request $request, $currency = null)
{
    $currency = store_currency($currency);

    $plans = ServicePlan::popuplarPlansForHome('UNL', 5)->get();
    $selectedPlan = $request->plan_id ? : '';
    $right_now = Carbon::now();
    return response()->view('checkout/order', compact('plans', 'selectedPlan', 'right_now'))
        ->withCookie(Cookie::forever('store_currency', $currency));
}

答案 2 :(得分:0)

EditorFor不接受HtmlAttribut参数你必须使用TextBoxFor而不是它;) 试试这个:

@Html.TextBoxFor(model => model.Email, new  {placeholder=ViewData.ModelMetadata.Watermark})`