Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将多行字符串传递给要加密的控制器并传递回Razor视图_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 4_Razor - Fatal编程技术网

C# 将多行字符串传递给要加密的控制器并传递回Razor视图

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

我的应用程序应该是一个非常简单的ASP.NETMVC接口,它从用户那里获取一个多行字符串,并在提交时将其加密返回。 问题是我在视图中使用的是textArea HTML帮助程序,每当我提交时,输入的值都不会传递给控制器。我在控制器中的操作开始处放置了一个断点,所有值在提交后都显示为null

这是视图代码

<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>