获取模型的Json字符串,包含用户所做的所有更改

时间:2017-01-23 16:49:00

标签: c# jquery json

我有一个视图,它只不过是几百个文本框,它们都是从buncha TextBoxFor生成的。通过反序列化保存在DB中的json blob(字符串)来填充原始模型。用户可以更改任何一个(或所有)值,当单击“保存”按钮时,我只想将所有文本框值返回到Json字符串,并将该字符串保存回数据库。

在视图中......

function SaveAll() {
    var model = '@Html.Raw(Json.Encode(Model))';
    // Send the string to the server ...
}

虽然这样可以很好地将模型传递给View并从中制作出Json字符串,但它并不反映模型在传递给视图后对用户所做的任何更改。

我真的希望有一种简单的方法来获取所有当前的文本框值并将它们转换为Json字符串,而不必单独引用所有的100个字符串,当然,还有保持原始模型的结构。

以下是渲染为HTML后其中一个文本框的示例:

<input 
    class="form-control input-sm"
    id="LeadPricingModel_CampaignType_Exclusive"
    name="LeadPricingModel.CampaignType.Exclusive" 
    value="25">

名称LeadPricingModel.CampaignType.Exclusive代表模型的结构。

1 个答案:

答案 0 :(得分:0)

您无法从JavaScript操纵您的c#模型。您的服务器呈现的模型。只有一次。创建页面时。要从表单等发送数据,请使用JSON.stringify(object)