我有大約7個模型擁有相同的屬性(屬性)。在查看頁面我使用的模型(名稱= commonModel),其中包含所有這些屬性和一個額外的屬性來選擇在哪個模型的數據庫我想保存發送的數據,所以我創建了一個valuesRelocate方法,將所有屬性的commonModel分配給選擇模型(在本例中爲文章)。 我在下面給出的代碼正在工作,但在將commonModel的屬性的值分配給文章屬性時出現錯誤。 有什麼更好的方法來做到這一點。 錯誤是在tempModel.question錯誤1061. T不包含<propertyName>的定義
public ActionResult Create([Bind(Include =
"Id,question,ans,ruleApplicable,hint,exception,modelSelector")]
commonModel commonModel)
{
if (ModelState.IsValid)
{
if (commonModel.modelSelector == "article")
{
article model2 = new article();
article model1 = valuesRelocate<article>(commonModel,
model2);
db.articleDb.Add(model1);
db.SaveChanges();
return RedirectToAction("Index");
}
}
return View(commonModel);
}
private T valuesRelocate<T>(commonModel commonModel, T tempModel) {
tempModel.question = commonModel.question;
return tempModel;
}
我使用名爲baseGrammar .CODE一個抽象基類爲兩個類如下所示
public abstract class baseGrammar
{
[Key]
public int Id { get; set; }
[Required]
public string question { get; set; }
[Required]
public string ans { get; set; }
public string ruleApplicable { get; set; }
public string hint { get; set; }
public bool exception { get; set; }
}
上面示出的一個是基類 和示出的那些下面是派生類 我使用不同的類,因爲我想爲不同的語法概念有不同的類。
public class article : baseGrammar
{
}
public class commonModel : baseGrammar
{
[Required]
public string modelSelector { get; set; }
}
希望這會有所幫助。
您的模型是否有相同的基類,或實現一個接口? (除了別的之外,我會*強烈*建議你開始遵循.NET命名約定。) –
你能告訴哪行代碼顯示錯誤嗎?你也可以分享'valuesRelocate'方法的代碼嗎? –
我在valuesRelocate方法裏提供了valueRelocate方法的代碼和tempModel.question中的問題,顯示錯誤。 @ChetanRanpariya – himanshu