2017-10-29 45 views
0

我有剃刀形式像这样在剃刀网址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')); 

回答

0

您可以从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); 
} 

和渲染输入

当辅助方法将使用该值