在剃刀网址PARAM添加到一个div
问题描述:
我有剃刀形式像这样在剃刀网址PARAM添加到一个div
@using (Html.BeginForm("ResetPassword", "Login", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div id="email_label" style="font-size:14px;padding:8px;">Email:</div>
<div class="form-group">
@Html.EditorFor(x => x.user, new { htmlAttributes = new { @class = "form-control", placeholder = "enter email from url" } })<br />
@Html.ValidationMessageFor(x => x.user)
</div>
}
我想从URL值来代替placeholder = "enter email from url"
。
网址:example.com/[email protected]&pass=123
现在我正在做这在Javascript,但我想这样做的剃刀。但我似乎无法得到任何地方。
下面是我在做什么在Javascript:
let url = new URL(window.location.href);
let searchParams = new URLSearchParams(url.search);
let emailAddress = (searchParams.get('email'));
答
您可以从Request
读取查询字符串,并使用它
@Html.EditorFor(x => x.user,
new { htmlAttributes = new { @class = "form-control",
placeholder = Request["email"] ?? "Please enter email" } })
,如果它存在,这将读取电子邮件查询字符串值“请输入电子邮件”字符串
这将只添加占位符文本,而不是输入的实际值。如果您希望将其设置为输入元素值,则可以在GET操作方法中执行此操作。
public ActionResult ResetPassword(string email)
{
var vm = new ResetPasswordVm { User = email };
return View(vm);
}
和渲染输入
当辅助方法将使用该值