如何将TextArea中的值存储在ASP MVC中的表中

本文关键字:ASP MVC 存储 TextArea | 更新日期: 2023-09-27 18:15:30

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

我也使用实体框架和代码第一方法。

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

当我点击按钮时,下拉列表中选择的值被添加到TextArea。

添加的值以空格" "和使用script分隔。

这是视图的代码:

<fieldset><legend>Gestion</legend>
        <div>
        <%:Html.Label("Fonction :")%>
        <%: Html.DropDownList("SelectedFonction",null, 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>
<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>

这是我在控制器中所做的:

Fonction_Poste FP = new Fonction_Poste();
            var value1 = Request["S1"];
            FP.ID_Fonction = value1;

这个代码只有当我在TextArea中输入一个值时才可用。

当用户添加多个值时,它们被存储在文本区域中,彼此之间用空格分隔。

所以我必须将它们保存在一个表中,但我没有找到如何消除空格

如何将TextArea中的值存储在ASP MVC中的表中

您可以在javascript中使用~等其他分隔符。如下面所示

<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('~')
    }
}

在模型中,您应该像这样

public class Fonction_Poste {
public List<string> ID_Fonction {get;set;}
}

在Action方法中,您可以像下面这样使用

var value1 = Request["S1"];
FP.ID_Fonction = value1.contains('~')?value1.split('~').ToList():null;

或者,你可以创建一个javascript数组,然后将每个项目推入数组,然后使用JSON将数据发送到控制器,这样它就会通过默认模型绑定自动绑定到列表。

选择适合您需求的方法。我建议使用基于Javascript数组的发布机制,因为它很容易使用,而且不需要使用特殊字符进行连接和分割。

用空格分隔

var requireddata=listdata.split("");

它会自动将数据存储在数组中