如何检索值从TextArea在一个局部变量在ASP MVC

本文关键字:一个 局部变量 MVC ASP 何检索 检索 TextArea | 更新日期: 2023-09-27 18:15:13

我正在使用c#和SQL Server 2005开发一个asp.net MVC 3应用程序。

在一个视图中,我有2个下拉列表和TextArea和2个按钮:

  • DropDownList邮政
  • DropDownList函数
  • 按钮Ajouter
  • 按钮记录
  • TextArea

当我点击按钮'Ajouter'时,TextArea的值是从下拉列表' function '中添加的。

我想在一个局部变量中检索这些值。当用户点击'注册'(提交)按钮时。

这是视图的代码:

<% using (Html.BeginForm("Store", "Fonction")) { %>
<h2>Gérer les droits</h2>
 <form id="form1" runat="server">
<fieldset><legend>Gestion</legend>
        <div>
        <%:Html.Label("Poste :")%><%: Html.DropDownListFor(model => model.SelectedPoste, Model.PostesItems)%>
        </div>
        <br />
        <div>
        <%:Html.Label("Fonction :")%><%: Html.DropDownListFor(model => model.SelectedFonction, Model.FoncItems, new { @id = "ff" })%>
        </div>
        <br />
        <div><input type="button" value="Ajouter" id="aj"  onclick="addtext()"/></div>
        <br />
        <div>
        <textarea id="tt" cols="10"  name="S1" rows="8" readonly="true"></textarea>
        </div>
</fieldset>
<br />
<div><input type="submit" value="Enregistrer" id="sv" /></div>
</form>
<script language="javascript" type="text/javascript">
    var storedValues = [];
    function addtext() {
        var ff = document.getElementById('ff');
        var tt = document.getElementById('tt');

        var selectedValue = ff.options[ff.selectedIndex].value + " ";
        if (storedValues.indexOf(selectedValue) === -1) {
            storedValues.push(selectedValue)
            tt.value = storedValues.join('')
        }
    }
</script>

,这是控制器中方法store(用于提交)的代码:

 [HttpPost]
        public ActionResult Store(FlowViewModel model)
        {
            if (ModelState.IsValid)
            {
                Fonction_Poste FP = new Fonction_Poste();
                FP.ID_Poste = model.SelectedPoste;
                FP.ID_Fonction = model.SelectedFonction;
                FP.Droit = 1;
                System.Web.UI.HtmlControls.HtmlTextArea htaDemo = (System.Web.UI.HtmlControls.HtmlTextArea)(form1.FindControl("tt"));
                String Value = htaDemo.Value;
                db.Fonction_Postes.Add(FP);
                db.SaveChanges();
            }
            return RedirectToAction("Index");
        }

如你所见,我试着用这个语句来检索值但是没有得到任何结果:

System.Web.UI.HtmlControls.HtmlTextArea htaDemo = (System.Web.UI.HtmlControls.HtmlTextArea)(form1.FindControl("tt"));
            String Value = htaDemo.Value;

如何检索值从TextArea在一个局部变量在ASP MVC

如果您在FlowViewModel中有任何属性来绑定文本区域的值,您可以使用它。

如果您有任何名称为S1的属性,则文本区域的值将被自动绑定。

因为,在ASP。Net MVC中没有可以参考的服务器端控件。一切都是模型自动绑定的。

否则,您可以创建一个属性或使用FormCollection来获取值并相应地使用它。

请分享与此相关的实现,以便更好地指导。