我知道这是基本的,但我再也无法找到答案......
我想将string和int值作为一个ViewData值发送到View
ViewData["TypeOfPaymentSelected"] = new { StringName = Enum.GetName(typeof(PaymentType), payment), IntValue = payment };
但我不知道怎么把它放在View里面。
如果我还在控制器中,那么简单的访问就是
varName.StringName
varName.IntValue
我知道如何制作ViewModel类并将其转换为View,我知道我可以将其作为两个ViewData值等发送但我认为这可以更简单 并且显而易见我缺乏基本的C#知识
答案 0 :(得分:0)
如果需要,您可以使用匿名类型,但是您需要使用例如Eval-method在视图中访问它:
@ViewData.Eval("TypeOfPaymentSelected.StringName")
中的更多信息
首选方法是使用模型,以便所有内容都是强类型的。
示例:
namespace Models
{
public class MyModel
{
public string StringName;
public int IntValue;
}
}
控制器:
public ActionResult Index()
{
ViewData["TypeOfPaymentSelected"] = new MyModel { StringName = "test", IntValue = 5 };
return View();
}
在视图中:
@(((Models.MyModel)ViewData["TypeOfPaymentSelected"]).StringName)