ASP.Net 隐藏"表示值不正确



我正在开发 ASP.Net WebApp,但在将POST请求发送回我的控制器时遇到问题。

当我在文本框中选择提供程序时,我的隐藏看起来像不显示正确的值。提供程序 ID 值为[对象对象],提供程序名称为">

你知道那里有什么问题吗?

<input data-rule-number="true" data-rule-required="true" data-val="true" data-val-number="The field ProductProviderId must be a number." data-val-required="The ProductProviderId field is required." id="account-provider" name="Provider.ProductProviderId" type="hidden" **value="[object Object]"** aria-required="true">
<input data-rule-number="true" data-rule-required="true" id="account-provider" name="Provider.Name" type="hidden" **value=""** aria-required="true">

这是一个视图:

...
<div class="form-group property-hide provider-search">
<label for="account-provider-search">Provider Search:</label>
@Html.TextBox("providersearch", String.Empty,
new
{
id = "account-provider-search",
data_rule_required = "true",
data_enhancer = "autocomplete",
data_url = "/overview/providersearch",
placeholder = "Enter provider here",
@class = "form-control"
})
@Html.HiddenFor(m => m.Provider.ProductProviderId, new { id = "account-provider", data_rule_required = "true", data_rule_number = "true" })
@Html.HiddenFor(m => m.Provider.Name, new { id = "account-provider", data_rule_required = "true", data_rule_number = "true" })*@
</div>

My classes look like:
public class ManualAccountViewModel : IValidatableObject
{
public ProviderModel Provider { get; set; }
}
public class ProviderModel
{
public int ProductProviderId { get; set; }
public int PartyId { get; set; }
public string Name { get; set; }
}

您似乎两次使用相同的 ID。ID 必须是唯一的,我相信在这种情况下,特别是从我在这里看到的,你有以下内容,例如:

<input data-rule-number="true" data-rule-required="true" data-val="true" data-val-number="The field ProductProviderId must be a number." data-val-required="The ProductProviderId field is required." id="account-provider" name="Provider.ProductProviderId" type="hidden" **value="[object Object]"** aria-required="true">

具有 IDaccount-provider

再往下看,你有一个具有相同ID的隐藏对象。

应用程序无法确定您想要哪一个。更改此ID的值应该显示我相信的正确结果。

相关内容

最新更新