第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么在我的 mvc 項(xiàng)目中沒有序列化此屬性?

為什么在我的 mvc 項(xiàng)目中沒有序列化此屬性?

C#
躍然一笑 2022-08-20 16:20:17
最終目標(biāo)是序列化 my 中的類型以供 my 使用。abstractViewController我的抽象類型有一個(gè)屬性,其名稱對(duì)應(yīng)于具體派生類型的名稱;這就是我將如何確定要選擇哪種具體類型。其值是通過反射在抽象類型的構(gòu)造函數(shù)中設(shè)置的:enumenum[JsonConverter(typeof(BlockJsonConverter)]public abstract class Block{   [NotMapped, JsonProperty]   public BlockType BlockType {get; set;}   public string Name {get;set:}   public int Height{get;set;}   public int Width {get;set;}   public int Depth {get;set;}   protected Block(){      BlockType = Enum.TryParse(GetType().Name, out BlockType blocktype)             ?? blocktype : BlockType.Unknown   }}public enum BlockType {   Long, Short, Tall, Unknown}public class Long    : Block { /*...*/ }public class Short   : Block { /*...*/ }public class Tall    : Block { /*...*/ }public class Unknown : Block { /*...*/ }該類由實(shí)體框架使用,但該屬性未存儲(chǔ)在數(shù)據(jù)庫中,因此該屬性用該特性標(biāo)記;但是,由于我希望將屬性從視圖輪跳到控制器,因此我已使用該屬性對(duì)其進(jìn)行了標(biāo)記。BlockBlockTypeBlockType[NotMapped][JsonProperty]我已經(jīng)創(chuàng)建了一個(gè)來處理從視圖到控制器的反序列化:TestModelBinderpublic class TestModelBinder : DefaultModelBinder{    protected override object CreateModel(ControllerContext controllerContext,        ModelBindingContext bindingContext, Type modelType)    {        return base.CreateModel(controllerContext, bindingContext,            GetModelType(controllerContext, bindingContext, modelType));    }    protected override ICustomTypeDescriptor GetTypeDescriptor(      ControllerContext controllerContext,ModelBindingContext bindingContext)    {        var modelType = GetModelType(controllerContext, bindingContext, bindingContext.ModelType);        return new AssociatedMetadataTypeTypeDescriptionProvider(modelType)                      .GetTypeDescriptor(modelType);    }    private static Type GetModelType(ControllerContext controllerContext, ModelBindingContext bindingContext,        Type modelType)    {        if (modelType.Name == "Block")        {當(dāng)我碰到上面的斷點(diǎn)時(shí),綁定Context在其 ValueProvider.FormValueProvider 中沒有我的 BlockType 屬性的 BlockType - 但 Name, Height, Width 和 Depth 屬性按預(yù)期列出。...幫助程序只是生成通常的標(biāo)簽,基于類型(枚舉,字符串等)和驗(yàn)證消息的編輯器。枚舉的編輯器模板如下:BootstrapEditorGroupFor
查看完整描述

1 回答

?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

您的選擇元素似乎沒有呈現(xiàn)該元素。如果沒有該特性,數(shù)據(jù)將無法與模型中的相應(yīng)屬性匹配。您可以通過在瀏覽器中編輯HTML并向選擇輸入添加屬性來仔細(xì)檢查它,然后嘗試發(fā)布表單以查看它是否有效。namenamename="BlockType"



查看完整回答
反對(duì) 回復(fù) 2022-08-20
  • 1 回答
  • 0 關(guān)注
  • 83 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)