我正在使用此代码通过动作调用控制器。 我想从asp-route-data中的输入标签发送数据。
<customErrors mode="Off" defaultRedirect="/Error/Default">
<error statusCode="404" redirect="/Error/E404" />
<error statusCode="500" redirect="/Error/E500" />
<error statusCode="403" redirect="/Error/E403" />
</customErrors>
因此,asp-route-username应该是输入korisnik中的值。 有可能吗?
答案 0 :(得分:0)
如果我正确理解了您的问题(不确定(我不确定)),那么您认为问题的答案是使用<form>
标签。然后,不要在asp-route
标签上应用<button>
属性,而在<form>
标签上应用它们:
<form asp-controller="Members" asp-action="LoginUser" asp-route-username="a" asp-route-password="">
<span><label><b>Korisnik :</b></label></span>
<br />
<input type="text" name="korisnik" id="korisnik" size="40" height="25" />
<br />
<br />
<span><label><b>Lozinka :</b></label></span>
<br />
<input type="password" name="lozinka" id="lozinka" size="40" height="25" />
<br />
<br />
<button type="submit" title="Login" class="btnLogin"></button>
</form>
请务必查看how to work with forms上的官方ASP.NET Core文档。
答案 1 :(得分:0)
如果您使用username
传递password
和asp-route-{value}
,则会在不建议的网址中显示这些信息。
如果仅要将两个输入值从视图传递到控制器,则需要修改input的name
属性以匹配操作参数。例如:
查看:
<form method="post" asp-controller="Members" asp-action="LoginUser">
<span><label><b>Korisnik :</b></label></span>
<br />
<input type="text" name="username" id="korisnik" size="40" height="25" />
<br />
<br />
<span><label><b>Lozinka :</b></label></span>
<br />
<input type="password" name="password" id="lozinka" size="40" height="25" />
<br />
<br />
<button type="submit" title="Login" class="btnLogin"></button>
</form>
操作:
[HttpPost]
public async Task<IActionResult> LoginUser(string username,string password)
答案 2 :(得分:0)
我有答案。 最后,我使用了IFormCollection,然后从中获取价值。
[HttpPost]
[Route("LoginUser")]
public ActionResult LoginUser(IFormCollection collection)
{
string user = collection["korisnik"];
}