获取Model的Json字符串,其中包含用户所做的所有更改



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

在视图中。。。

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

虽然这在将模型传递到视图并从中生成Json字符串方面做得很好,但它不会反映用户在将模型交付到视图后对模型的任何更改。

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

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

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

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

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

最新更新