如何将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中输入一个值时才可用。
当用户添加多个值时,它们被存储在文本区域中,彼此之间用空格分隔。
所以我必须将它们保存在一个表中,但我没有找到如何消除空格
您可以在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("");
它会自动将数据存储在数组中