gpt4 book ai didi

c# - 使用 TextBoxFor 截断字符串

转载 作者:太空狗 更新时间:2023-10-29 23:51:23 25 4
gpt4 key购买 nike

在我们的 ASP.Net MVC 3 应用程序中,当字符串值包含双引号时,我们的表单上的字符串会被截断。

例如,给定一个文本框:

@Html.TextBoxFor(m => m.County)

如果用户输入字符串:'Hampshire"County',当将值渲染回表单时,只会显示字符串'Hampsire'。如果我检查模型中的值,双引号会被转义作为“汉普郡”“县”。在 Fiddler 中,发布的值是正确的,并且该值正确存储在数据库中,因此它似乎与将文本框呈现给客户端的 Html 帮助程序有关。

任何人都可以阐明这一点吗?

最佳答案

我无法重现这个问题。刚刚创建了一个新的 MVC 3 项目,创建了一个具有 2 个操作(GET 和 POST)的 Controller ,具有类型化 View ,接收具有字符串属性 Text 的对象,并将其显示在表单中......一切都按预期进行。没有问题。我输入的所有内容都会发布,并在 POST 中正确返回。

查看

@model MvcApplication1.Models.MyClass
@{
ViewBag.Title = "Home";
Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Home</h2>
@using (Html.BeginForm())
{
@Html.TextBoxFor(m => m.Text)
}

Controller

public class HomeController : Controller
{
[HttpGet]
public ActionResult Index()
{
return View();
}

[HttpPost]
public ActionResult Index(MyClass data)
{
return View(data);
}
}

型号

public class MyClass
{
public string Text { get; set; }
}

所以,问题一定出在其他地方......可能会扰乱正在呈现的值(编辑器模板、javascript)

尝试查看渲染页面的来源,看看那里的值是否正确,如果正确,那么它必须是javascript,否则,它必须是服务器中的东西。

关于c# - 使用 TextBoxFor 截断字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20212477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com