0

我在这里有这个静态方法:

public static string ParseStringForSpecialChars(string stringToParse)
{
    const string regexItem = "[^a-zA-Z0-9 ]";

    string stringToReturn = Regex.Replace(stringToParse, regexItem, @"\$%&'");

    return stringToReturn;
}

此方法可以正常工作,因为它可以阻止许多字符串对我的应用程序有害。我想有更好的方法来做事,但这不是我帖子的重点。

现在我想要的是从调用此方法的 javascript 中的任何文本框中获取所有值,然后将数据发送到控制器。

说我有这样的看法:

@using MyApp.Utilities
@model List<MyApp.Models.CustomerObj>

@{
    ViewBag.Title = "Customer Index";
}

<h2>Customer Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
    @using (Html.BeginForm())
    {
        <p>
            Name: @Html.TextBox("customerName") <br/>
            Address: @Html.TextBox("customerAddress") City: @Html.TextBox("customerCity") <br/>
             <br />
            Postal Code: @Html.TextBox("customerPC")<br/>
            Phone Number: @Html.TextBox("customerPhone") Fax Number: @Html.TextBox("customerFax")<br />
            Mail: @Html.TextBox("customerEmail")  <br/>
            <input type="submit" value="Filter" style="float:right">
        </p>
    }
</p>

我怎样才能继续做我想做的事?谁能给我建议如何进行?我想要一个灵活的解决方法,因为您现在拥有的视图会改变,我需要这种方法在任何地方都适用。

谢谢你。

4

1 回答 1

1

您是否考虑过像这样向您的模型添加数据注释:

[RegularExpression(@"^\$?\d+(\.(\d{2}))?$")]

这是从以下网址捕获的:http ://www.asp.net/mvc/tutorials/older-versions/models-%28data%29/validation-with-the-data-annotation-validators-cs

当然,这样做的缺点是您必须将其添加到模型中您希望它应用到的所有属性中。您也许可以使用远程验证并通过 javascript 将其关闭。否则,您将无法在客户端执行此操作。(但无论如何,这并不难做到。)

于 2013-05-02T15:17:01.060 回答