Как присвоить значение полю ввода? - PullRequest
0 голосов
/ 17 марта 2020

Я работаю над html контентом для отображения данных в mvc просмотра данных привязки из класса модели, мое требование состоит в том, чтобы установить значения для полей ввода равными html контенту от c#. Я хочу, чтобы конечный контент должен был содержать html контент и значения из модели. ПРИМЕР:

<form action="/action_page.php">
<label for="fname">First name:</label>
<input type="text" id="fname" name="fname"><br><br>
<label for="lname">Last name:</label>
<input type="text" id="lname" name="lname"><br><br>
<input type="submit" value="Submit">
</form>

Это мой html контент из текстового файла. у меня есть данные в моей модели, то есть

public class EmployeeModel
{
    public string fname { get; set; } = "Stack"; 
    public string lname { get; set; } = "OverFlow";
}

В представлении:

@Html.Raw(ViewBag.htmlContent)

Ответы [ 2 ]

1 голос
/ 17 марта 2020

Это то, для чего предназначен класс HtmlHelper.

Установите модель представления в вашем файле представления и создайте форму вокруг него.

@model Models.EmployeeModel

@using (Html.BeginForm("Edit", "Employees", FormMethod.Post))
{
    @Html.LabelFor(m => m.fname)
    @Html.TextBoxFor(m => m.fname)
    <input type="submit" value="Submit"/>
}

Вызовите вид из вашего контроллера с помощью экземпляр модели для редактирования.

public IActionResult Edit(int id)
{
    ...
    employee = service.GetEmployeeById(id);

    return View(employee);
}
0 голосов
/ 17 марта 2020

Один шаг, который вы могли бы попробовать - установить значения в Razor:

// your controller
public class HomeController : Controller
    {
        [HttpGet]
        public ActionResult Index()
        {
            return View(new EmployeeModel());// pass the actual viewmodel instance to the view here
        }
    }
@model EmployeeModel
.......
    <form action="/action_page.php">
        <label for="fname">First name:</label>
        <input type="text" id="fname" name="fname" value="@Model.fname"><br><br> <!-- reference @Model fields as usual -->
        <label for="lname">Last name:</label>
        <input type="text" id="lname" name="lname" value="@Model.lname"><br><br><!-- reference @Model fields as usual -->
        <input type="submit" value="Submit">
    </form>

и скрипку, с которой вы можете играть: https://dotnetfiddle.net/37asAw

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...