asp .net mvc 4.0、vs10、razorview
これは私のリストボックスです:
<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; }
私のモデルで Model.ColumnsToCreateTable = null; を取得している理由
事業内容 :
ビューが読み込まれると、このリストボックスは空白になります。このビューには、正しく入力された別のリストボックスがあります。ListBoxToCreateTable (最初は空白でした) にデータを入力します。フォームを送信すると、他のすべてのデータとともに、このリスト (新しく入力されたリストボックスのリスト) がコントローラーに送信されます。そして、私はこれで多くのことをしなければなりません。
質問 :
- どうすればこの問題を解決できますか?
- これはこれを行う正しい方法ですか?
- 他の提案はありますか?