Razor 获取新(按用户)填充的列表框的列表
asp.NETMVC4.0、vs10、razorview 这是我的列表框:Razor 获取新(按用户)填充的列表框的列表,razor,asp.net-mvc-4,listbox,Razor,Asp.net Mvc 4,Listbox,asp.NETMVC4.0、vs10、razorview 这是我的列表框: <div class="editor-list-field"> <select name="lbToCreateTable" class="clsToCreateTable" id="idToCreateTable" style="width:150px" size="8" multiple="multiple" > @if(Model.ColumnsToC
<div class="editor-list-field">
<select name="lbToCreateTable" class="clsToCreateTable" id="idToCreateTable" style="width:150px" size="8" multiple="multiple" >
@if(Model.ColumnsToCreateTable != null)
{
<option>@Model.ColumnsToCreateTable;</option>
}
</select>
</div>
public ActionResult About(AboutModel model, string btnTestMail, string btnSendMail, string lbToCreateTable)
{
try
{
if (btnTestMail != null)
{
List<string> lstTableCreateCols = new List<string>();
try
{
if (Request.Form["lbToCreateTable"].ToString().Length > 0)
{ }
HtmlString hs = new HtmlString(model.Content);
if (model.TableCreate)
{
if (hs.ToString().Length > 0 && model.CompanyName != "" && model.MailSubject != "")
{
CM.CreateMailBody(model.CompanyName, model.MailSubject, hs);
}
}
else
{
if (hs.ToString().Length > 0 && model.CompanyName != "" && model.MailSubject != "" && model.ColumnsToCreateTable != null)
{
List<string> lstColumnsToCreateTable = new List<string>();
foreach (SelectListItem str in model.ColumnsToCreateTable)
{
lstColumnsToCreateTable.Add(str.Selected.ToString());
}
CM.CreateMailbodyWithTable(model.CompanyName, model.MailSubject, hs, lstColumnsToCreateTable);
}
}
}
catch { }
}
else if (btnSendMail != null)
{
}
}
catch { }
try
{
if (btnTestMail == null && btnSendMail == null)
{
if (Session["CompanyName"].ToString().Length > 0)
{
RedirectFromHomeToAbout(model);
}
}
}
catch { }
return View(model);
}
[Required]
[DataType(DataType.Text)]
public string CompanyName { get; set; }
[Required]
[DataType(DataType.Text)]
public string MailSubject { get; set; }
public List<string> TableColumn { get; set; }
public bool IsChecked { get; set; }
public List<string> ColumnsToCreateTable { get; set; }
public bool TableCreate { get; set; }
[Display]
[DataType(DataType.Text)]
public string Message { get; set; }
[Required]
[DataType(DataType.Html)]
[AllowHtml]
public string Content { get; set; }
[DataType(DataType.EmailAddress)]
public string EmailAddress { get; set; }
@if(Model.ColumnsToCreateTable!=null)
{
@Model.ColumnsToCreateTable;
}
我的控制器:
<div class="editor-list-field">
<select name="lbToCreateTable" class="clsToCreateTable" id="idToCreateTable" style="width:150px" size="8" multiple="multiple" >
@if(Model.ColumnsToCreateTable != null)
{
<option>@Model.ColumnsToCreateTable;</option>
}
</select>
</div>
public ActionResult About(AboutModel model, string btnTestMail, string btnSendMail, string lbToCreateTable)
{
try
{
if (btnTestMail != null)
{
List<string> lstTableCreateCols = new List<string>();
try
{
if (Request.Form["lbToCreateTable"].ToString().Length > 0)
{ }
HtmlString hs = new HtmlString(model.Content);
if (model.TableCreate)
{
if (hs.ToString().Length > 0 && model.CompanyName != "" && model.MailSubject != "")
{
CM.CreateMailBody(model.CompanyName, model.MailSubject, hs);
}
}
else
{
if (hs.ToString().Length > 0 && model.CompanyName != "" && model.MailSubject != "" && model.ColumnsToCreateTable != null)
{
List<string> lstColumnsToCreateTable = new List<string>();
foreach (SelectListItem str in model.ColumnsToCreateTable)
{
lstColumnsToCreateTable.Add(str.Selected.ToString());
}
CM.CreateMailbodyWithTable(model.CompanyName, model.MailSubject, hs, lstColumnsToCreateTable);
}
}
}
catch { }
}
else if (btnSendMail != null)
{
}
}
catch { }
try
{
if (btnTestMail == null && btnSendMail == null)
{
if (Session["CompanyName"].ToString().Length > 0)
{
RedirectFromHomeToAbout(model);
}
}
}
catch { }
return View(model);
}
[Required]
[DataType(DataType.Text)]
public string CompanyName { get; set; }
[Required]
[DataType(DataType.Text)]
public string MailSubject { get; set; }
public List<string> TableColumn { get; set; }
public bool IsChecked { get; set; }
public List<string> ColumnsToCreateTable { get; set; }
public bool TableCreate { get; set; }
[Display]
[DataType(DataType.Text)]
public string Message { get; set; }
[Required]
[DataType(DataType.Html)]
[AllowHtml]
public string Content { get; set; }
[DataType(DataType.EmailAddress)]
public string EmailAddress { get; set; }
public ActionResult About(关于模型、字符串btnTestMail、字符串btnSendMail、字符串lbToCreateTable)
{
尝试
{
如果(btnTestMail!=null)
{
List lstTableCreateCols=新列表();
尝试
{
if(Request.Form[“lbToCreateTable”].ToString().Length>0)
{ }
HtmlString hs=新的HtmlString(model.Content);
if(model.TableCreate)
{
如果(hs.ToString().Length>0&&model.CompanyName!=“”&&model.MailSubject!=“”)
{
CM.CreateMailBody(model.CompanyName、model.MailSubject、hs);
}
}
其他的
{
如果(hs.ToString().Length>0&&model.CompanyName!=“”&&model.MailSubject!=“”&&model.ColumnsToCreateTable!=null)
{
List lstColumnsToCreateTable=新列表();
foreach(model.ColumnsToCreateTable中的SelectListItem str)
{
lstColumnsToCreateTable.Add(str.Selected.ToString());
}
CM.CreateMailbodyWithTable(model.CompanyName、model.MailSubject、hs、lstColumnsToCreateTable);
}
}
}
捕获{}
}
else if(btnSendMail!=null)
{
}
}
捕获{}
尝试
{
如果(btnTestMail==null&&btnSendMail==null)
{
如果(会话[“CompanyName”].ToString().Length>0)
{
从家重定向到(模型);
}
}
}
捕获{}
返回视图(模型);
}
我的型号:
<div class="editor-list-field">
<select name="lbToCreateTable" class="clsToCreateTable" id="idToCreateTable" style="width:150px" size="8" multiple="multiple" >
@if(Model.ColumnsToCreateTable != null)
{
<option>@Model.ColumnsToCreateTable;</option>
}
</select>
</div>
public ActionResult About(AboutModel model, string btnTestMail, string btnSendMail, string lbToCreateTable)
{
try
{
if (btnTestMail != null)
{
List<string> lstTableCreateCols = new List<string>();
try
{
if (Request.Form["lbToCreateTable"].ToString().Length > 0)
{ }
HtmlString hs = new HtmlString(model.Content);
if (model.TableCreate)
{
if (hs.ToString().Length > 0 && model.CompanyName != "" && model.MailSubject != "")
{
CM.CreateMailBody(model.CompanyName, model.MailSubject, hs);
}
}
else
{
if (hs.ToString().Length > 0 && model.CompanyName != "" && model.MailSubject != "" && model.ColumnsToCreateTable != null)
{
List<string> lstColumnsToCreateTable = new List<string>();
foreach (SelectListItem str in model.ColumnsToCreateTable)
{
lstColumnsToCreateTable.Add(str.Selected.ToString());
}
CM.CreateMailbodyWithTable(model.CompanyName, model.MailSubject, hs, lstColumnsToCreateTable);
}
}
}
catch { }
}
else if (btnSendMail != null)
{
}
}
catch { }
try
{
if (btnTestMail == null && btnSendMail == null)
{
if (Session["CompanyName"].ToString().Length > 0)
{
RedirectFromHomeToAbout(model);
}
}
}
catch { }
return View(model);
}
[Required]
[DataType(DataType.Text)]
public string CompanyName { get; set; }
[Required]
[DataType(DataType.Text)]
public string MailSubject { get; set; }
public List<string> TableColumn { get; set; }
public bool IsChecked { get; set; }
public List<string> ColumnsToCreateTable { get; set; }
public bool TableCreate { get; set; }
[Display]
[DataType(DataType.Text)]
public string Message { get; set; }
[Required]
[DataType(DataType.Html)]
[AllowHtml]
public string Content { get; set; }
[DataType(DataType.EmailAddress)]
public string EmailAddress { get; set; }
[必需]
[数据类型(DataType.Text)]
公共字符串CompanyName{get;set;}
[必需]
[数据类型(DataType.Text)]
公共字符串MailSubject{get;set;}
公共列表表列{get;set;}
已检查公共布尔值{get;set;}
公共列表列StoCreateTable{get;set;}
公共布尔表创建{get;set;}
[显示]
[数据类型(DataType.Text)]
公共字符串消息{get;set;}
[必需]
[数据类型(DataType.Html)]
[allowtml]
公共字符串内容{get;set;}
[数据类型(数据类型.电子邮件地址)]
公共字符串电子邮件地址{get;set;}
在我的模型中,为什么得到model.ColumnsToCreateTable=null
业务:
当我的视图加载时,此列表框将为空。在该视图中,有另一个列表框,该列表框已正确填充。我将填充ListBoxToCreateTable(最初为空)。当我提交表格以及所有其他数据时,该列表(新填充的列表框)将发送给我的承包商。我必须用这个做很多事情
问题:
由于你的问题不太清楚,很难说具体的话。你应该弄清楚到底是什么问题。试着找出以下事实的答案:
您应该尝试使用HtmlHelpClass轻松绑定它。请查看问题。我已经添加了Model和conrler。在向其中添加项之前,请检查
Model.ColumnsToCreateTable
是否不为空Model.ColumnsToCreateTable.Add(str)
。如果是,则在添加项之前添加此项model.ColumnsToCreateTable=new List()代码>但我的视图未传递model.columntorRetattable。模型正在传递null。如何将模型
传递到视图
。发布完整的控制器
code给出完整的控制器。在我的索引页面中,我确实返回了重定向(“Home/About”)。第一次调用about控制器时,它没有任何内容。该方法从家转向(模型);然后执行。然后加载我的aboutView页面。当我点击btnTestMail时,模型将传递数据。