[asp.net-mvc]将字符串传递给操作方法重载

标签: Asp.net-MVC HTML
发布时间: 2017/3/25 13:32:27
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

所以我想要做的是一串从文本区域并将其传递给操作方法重载 (字符串 paramJSON)。

操作方法︰

public ActionResult SendMail(string templateName, string receiver, string paramJSON)
{
    var paramDictionary = JsonConvert.DeserializeObject<Dictionary<string, string>>(paramJSON);
    new SendMailClient().Send(templateName, receiver, paramDictionary);

    if(Request.IsAjaxRequest())
    { 
        return RedirectToAction("SendPartial", "TestMail");
    }
        return View();
}

文本︰

@Html.TextAreaFor(a => a.TestParametrar, new { id = "paramTxt" })

解决方法 1:

你的 html 帮助器

@Html.TextAreaFor(a => a.TestParametrar, new { id = "paramTxt" })

生成与 textarea name="TestParametrar" 。当您提交表单时,就会发回的每个控件的值 namevalue 在这种情况下属性 TestParametrar: 'The text you entered' 你方法需要包括一个参数具有相同的名称,例如

public ActionResult SendMail(string TestParametrar, ....)

和参数的值将在窗体控件中输入的文本。

然而,自从你观点基于一种模式,然后最好是只需邮寄回模式和所有属性将被都绑定

 public ActionResult SendMail(YourModel model)

其中有验证您的属性的额外的好处。例如,如果属性 TestParametrar 具有 [Required] 属性,然后如果用户没有输入值, ModelSTate 将是无效和视图可以返回校正。

官方微信
官方QQ群
31647020