C# 将多行字符串传递给要加密的控制器并传递回Razor视图
我的应用程序应该是一个非常简单的ASP.NETMVC接口,它从用户那里获取一个多行字符串,并在提交时将其加密返回。 问题是我在视图中使用的是textArea HTML帮助程序,每当我提交时,输入的值都不会传递给控制器。我在控制器中的操作开始处放置了一个断点,所有值在提交后都显示为null 这是视图代码C# 将多行字符串传递给要加密的控制器并传递回Razor视图,c#,asp.net,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Razor,我的应用程序应该是一个非常简单的ASP.NETMVC接口,它从用户那里获取一个多行字符串,并在提交时将其加密返回。 问题是我在视图中使用的是textArea HTML帮助程序,每当我提交时,输入的值都不会传递给控制器。我在控制器中的操作开始处放置了一个断点,所有值在提交后都显示为null 这是视图代码 <form action="Token" method="post" id="tkn"> Header<br /> <textarea
<form action="Token" method="post" id="tkn">
Header<br />
<textarea id="txtHeader" rows="2" cols="20" form="tkn">Header</textarea><br />
Payload<br />
<textarea id="txtPayload" rows="2" cols="20" form="tkn">Load</textarea><br />
Signature<br />
<textarea id="txtSignature" rows="2" cols="20" form="tkn">Signature</textarea><br />
Token<br />
<textarea id="txtToken" rows="2" cols="20" form="tkn">The Rest</textarea><br />
<button type="submit" value="Submit">Submit</button>
</form>
为了成功地将值从视图传递到控制器,我应该做什么?(我没有这方面的模型,因为它不会被存储或从数据容器中取出,只是直接提交并获取值)MVC绑定在
name
html属性上工作,而不是id
试试这个
<form action="Token" method="post" id="tkn">
Header<br />
<textarea id="txtHeader" name="txtHeader" rows="2" cols="20" form="tkn">Header</textarea><br />
Payload<br />
<textarea id="txtPayload" name="txtPayload" rows="2" cols="20" form="tkn">Load</textarea><br />
Signature<br />
<textarea id="txtSignature" name="txtSignature" rows="2" cols="20" form="tkn">Signature</textarea><br />
Token<br />
<textarea id="txtToken" name="txtToken" rows="2" cols="20" form="tkn">The Rest</textarea><br />
<button type="submit" value="Submit">Submit</button>
</form>
标题
标题
有效载荷
加载
签名
签名
令牌
其余的
提交
您是否尝试为所有文本区域设置名称
属性?我没有。。我现在就尝试一下,我建议您创建一个viewmodel,并将字符串属性与TextAreaFor
绑定,因为这是MVC,您可以使用HTML帮助程序,而不是使用标准的HTML表单控件。@Tetsuya Yamamoto它确实起作用了!显然,textarea绑定与名称
一起工作,而不是Id
所有绑定都与名称一起工作。使用HtmlHelper时,会自动设置id和name属性
<form action="Token" method="post" id="tkn">
Header<br />
<textarea id="txtHeader" name="txtHeader" rows="2" cols="20" form="tkn">Header</textarea><br />
Payload<br />
<textarea id="txtPayload" name="txtPayload" rows="2" cols="20" form="tkn">Load</textarea><br />
Signature<br />
<textarea id="txtSignature" name="txtSignature" rows="2" cols="20" form="tkn">Signature</textarea><br />
Token<br />
<textarea id="txtToken" name="txtToken" rows="2" cols="20" form="tkn">The Rest</textarea><br />
<button type="submit" value="Submit">Submit</button>
</form>