【发布时间】:2019-12-17 04:53:07
【问题描述】:
在“YourText”文本区域中输入并按下“Encode”按钮后,编码文本不会出现在“EncodedText”文本区域中。如果将@html.textarea 替换为“DisplayFor”,则会显示编码文本。
我需要在文本区域中显示编码文本。 如果可行,则读取 EncodedText 文本区,然后按“解码”按钮,将文本解码到“解码文本”文本区。
控制器:
[HttpGet]
public ActionResult EncodeText(FormData formData)
{
SelectList items = new SelectList(ciphers);
ViewBag.Ciphers = items;
// Caesar cipher decode CODE here...
return View(formData);
}
[HttpPost]
public ActionResult EncodeText(FormData formData, FormCollection form)
{
SelectList items = new SelectList(ciphers);
ViewBag.Ciphers = items;
// Caesar cipher encode CODE here...
return View(formData);
}
查看“索引”:
@model StringCoder_ASP.NET_MVC.Models.FormData
<div>
<div>
@using (Html.BeginForm("EncodeText", "Home", FormMethod.Post))
{
@Html.Label("Input your text:") <br />
@Html.TextArea("YourText") <br />
@Html.Label("Your encoded text:") <br />
@Html.TextAreaFor(e => e.EncodedText, ViewBag.EncText as string) <br />
@Html.Label("Your decoded text:") <br />
@Html.TextAreaFor(d => d.DecodedText) <br />
<div id="buttonEncode">
<input id="button" type="submit" value="Encode" formaction="@Url.Action("EncodeText", "Home")" /> <br />
</div>
<div id="buttonDecode">
<input id="button" type="submit" value="Decode" formaction="@Url.Action("DecodeText", "Home")" /> <br />
</div>
<div>@Html.Label("Select a cipher:", null, new { @id = "labelCipher" })</div>
<div>@Html.DropDownList("Ciphers", ViewBag.Ciphers as SelectList, null, new { @id = "dropdownlistCipher" })</div>
<div>@Html.Label("Enter a key:", null, new { @id = "labelKey" })</div>
<div>@Html.TextBox("tbkey", null, new { @id = "tbkey" })</div>
}
</div>
</div>
查看“EncodeText:”
@using (Html.BeginForm("EncodeText", "Home", FormMethod.Get))
{
@Html.Label("Input your text:") <br />
@Html.TextArea("YourText") <br />
@Html.Label("Your encoded text:") <br />
@Html.TextAreaFor(e => e.EncodedText@*(string)ViewBag.EncText*@) <br />
@Html.Label("Your decoded text:") <br />
@Html.TextAreaFor(d => d.DecodedText) <br />
<div id="buttonEncode">
<input id="button" type="submit" value="Encode" formaction="@Url.Action("EncodeText", "Home")" /> <br />
</div>
<div id="buttonDecode">
<input id="button" type="submit" value="Decode" formaction="@Url.Action("DecodeText", "Home")" /> <br />
</div>
<div>@Html.Label("Select a cipher:", null, new { @id = "labelCipher" })</div>
<div>@Html.DropDownList("Ciphers", ViewBag.Ciphers as SelectList, null, new { @id = "dropdownlistCipher" })</div>
<div>@Html.Label("Enter a key:", null, new { @id = "labelKey" })</div>
<div>@Html.TextBox("tbkey", null, new { @id = "tbkey" })</div>
}
查看“解码”是一样的。
【问题讨论】:
标签: c# razor asp.net-mvc-5