खोज…


परिचय

HTML हेल्पर्स एक दृष्टिकोण में HTML तत्वों को रेंडर करने के लिए उपयोग किए जाने वाले तरीके हैं। वे System.Web.Mvc.HtmlHelper नामस्थान का हिस्सा हैं।

HTML सहायकों के विभिन्न प्रकार हैं:

मानक HTML हेल्पर्स : उनका उपयोग सामान्य HTML तत्वों को प्रस्तुत करने के लिए किया जाता है, जैसे Html.TextBox()

दृढ़ता से टाइप किए गए HTML हेल्पर्स : ये हेल्पर्स HTML गुणों को मॉडल गुणों के आधार पर प्रस्तुत करते हैं, जैसे Html.TextBoxFor()

कस्टम HTML हेल्पर्स : उपयोगकर्ता कस्टम सहायक विधि बना सकता है जो MvcHtmlString देता है।

कस्टम HTML हेल्पर - प्रदर्शन नाम

/// <summary>
/// Gets displayName from DataAnnotations attribute
/// </summary>
/// <typeparam name="TModel"></typeparam>
/// <typeparam name="TProperty"></typeparam>
/// <param name="htmlHelper"></param>
/// <param name="expression"></param>
/// <returns></returns>
public static MvcHtmlString GetDisplayName<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
{
    var metaData = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
    var value = metaData.DisplayName ?? (metaData.PropertyName ?? ExpressionHelper.GetExpressionText(expression));
    return MvcHtmlString.Create(value);
}

कस्टम हेल्पर - रेंडर सबमिट बटन

/// <summary>
/// Creates simple button
/// </summary>
/// <param name="poHelper"></param>
/// <param name="psValue"></param>
/// <returns></returns>
public static MvcHtmlString SubmitButton(this HtmlHelper poHelper, string psValue)
{
    return new MvcHtmlString(string.Format("<input type=\"submit\" value=\"{0}\">", psValue));
}

HTML आउटपुट सहित HtmlHelper नमूनों की व्यापक सूची

HtmlHelper.Action()

  • @Html.Action(actionName: "Index")
    आउटपुट: HTML एक एक्शन विधि द्वारा प्रस्तुत किया जाता है जिसे Index() कहा जाता है
  • @Html.Action(actionName: "Index", routeValues: new {id = 1})
    आउटपुट: HTML Index(int id) नामक एक एक्शन विधि द्वारा प्रस्तुत किया गया Index(int id)
  • @(Html.Action("Index", routeValues: new RouteValueDictionary(new Dictionary<string, object>{ {"id", 1} })))
    आउटपुट: HTML Index(int id) नामक एक एक्शन विधि द्वारा प्रस्तुत किया गया Index(int id)
  • @Html.Action(actionName: "Index", controllerName: "Home")
    आउटपुट: HTML एक एक्शन विधि द्वारा प्रस्तुत किया जाता है जिसे HomeController में Index() कहा जाता है
  • @Html.Action(actionName: "Index", controllerName: "Home", routeValues: new {id = 1})
    आउटपुट: HTML एक एक्शन विधि द्वारा प्रस्तुत किया जाता है जिसे HomeController में Index(int id) कहा जाता है
  • @Html.Action(actionName: "Index", controllerName: "Home", routeValues: new RouteValueDictionary(new Dictionary<string, object>{ {"id", 1} }))
    आउटपुट: HTML एक एक्शन विधि द्वारा प्रस्तुत किया जाता है जिसे HomeController में Index(int id) कहा जाता है
  • @Html.ActionLink(linkText: "Click me", actionName: "Index")
    आउटपुट: <a href="Home/Index">Click me</a>
  • @Html.ActionLink(linkText: "Click me", actionName: "Index", routeValues: new {id = 1})
    आउटपुट: <a href="Home/Index/1">Click me</a>
  • @Html.ActionLink(linkText: "Click me", actionName: "Index", routeValues: new {id = 1}, htmlAttributes: new {@class = "btn btn-default", data_foo = "bar")
    आउटपुट: <a href="Home/Index/1" class="btn btn-default" data-foo="bar">Click me</a>
  • @Html.ActionLink()
    आउटपुट: <a href=""></a>

@HtmlHelper.BeginForm()

  • @using (Html.BeginForm("MyAction", "MyController", FormMethod.Post, new {id="form1",@class = "form-horizontal"}))
    आउटपुट: <form action="/MyController/MyAction" class="form-horizontal" id="form1" method="post">

अपने HTML आउटपुट के साथ मानक HTML हेल्पर्स

Html.TextBox ()

  • @Html.TextBox("Name", null, new { @class = "form-control" })
    आउटपुट: <input class="form-control" id="Name"name="Name"type="text"value=""/>
  • @Html.TextBox("Name", "Stack Overflow", new { @class = "form-control" })
    आउटपुट: <input class="form-control" id="Name"name="Name"type="text" value="Stack Overflow"/>

Html.TextArea ()

  • @Html.TextArea("Notes", null, new { @class = "form-control" })
    आउटपुट: <textarea class="form-control" id="Notes" name="Notes" rows="2" cols="20"></textarea>
  • @Html.TextArea("Notes", "Please enter Notes", new { @class = "form-control" })
    आउटपुट: <textarea class="form-control" id="Notes" name="Notes" rows="2" cols="20" >Please enter Notes</textarea>

Html.Label ()

  • @Html.Label("Name","FirstName")
    आउटपुट: <label for="Name"> FirstName </label>
  • @Html.Label("Name", "FirstName", new { @class = "NameClass" })
    आउटपुट: <label for="Name" class="NameClass">FirstName</label>

Html.Hidden ()

  • @Html.Hidden("Name", "Value")
    आउटपुट: <input id="Name" name="Name" type="hidden" value="Value" />

Html.CheckBox ()

  • @Html.CheckBox("isStudent", true)
    आउटपुट: <input checked="checked" id="isStudent" name="isStudent" type="checkbox" value="true" />

Html.Password ()

  • @Html.Password("StudentPassword")
    आउटपुट: <input id="StudentPassword" name="StudentPassword" type="password" value="" />

कस्टम हेल्पर - लेबल के साथ रेंडर रेडियो बटन

       public static MvcHtmlString RadioButtonLabelFor<TModel, TProperty>(this HtmlHelper<TModel> self, Expression<Func<TModel, TProperty>> expression, bool value, string labelText)
    {
        // Retrieve the qualified model identifier
        string name = ExpressionHelper.GetExpressionText(expression);
        string fullName = self.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(name);

        // Generate the base ID
        TagBuilder tagBuilder = new TagBuilder("input");
        tagBuilder.GenerateId(fullName);
        string idAttr = tagBuilder.Attributes["id"];

        // Create an ID specific to the boolean direction
        idAttr = string.Format("{0}_{1}", idAttr, value);

        // Create the individual HTML elements, using the generated ID
        MvcHtmlString radioButton = self.RadioButtonFor(expression, value, new { id = idAttr });
        MvcHtmlString label = self.Label(idAttr, labelText);

        return new MvcHtmlString(radioButton.ToHtmlString() + label.ToHtmlString());
    }

उदाहरण: @Html.RadioButtonLabelFor(m => m.IsActive, true, "Yes")

कस्टम हेल्पर - डेट टाइम पिकर

public static MvcHtmlString DatePickerFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, object htmlAttributes)
{
    var sb = new StringBuilder();
    var metaData = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
    var dtpId = "dtp" + metaData.PropertyName;
    var dtp = htmlHelper.TextBoxFor(expression, htmlAttributes).ToHtmlString();
    sb.AppendFormat("<div class='input-group date' id='{0}'> {1} <span class='input-group-addon'><span class='glyphicon glyphicon-calendar'></span></span></div>", dtpId, dtp);
    return MvcHtmlString.Create(sb.ToString());
}

उदाहरण:

@Html.DatePickerFor(model => model.PublishedDate,  new { @class = "form-control" })

यदि आप Bootstrap.v3.Datetimepicker का उपयोग करते हैं तो आपका जावास्क्रिप्ट नीचे जैसा है -

$('#dtpPublishedDate').datetimepicker({ format: 'MMM DD, YYYY' });


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow