我有一个包含 c# 和 linq 的视图(不理想,但我必须使用它!):
protected void Page_Load(object sender, EventArgs e)
{
.
.
var qry = (from p in db.EntityObject
where something == something_else
select new
{
<fields>
}).FirstOrDefault();
.
.
}
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
.
.
我需要将通过视图中的 linq 语句检索到的值传递给我的控制器。我试过这个:
var qry = (from <entity objects>
select new
{
id,
// fields
}).FirstOrDefault();
RouteData.Values.Add("id", qry.id);
然后我尝试将它作为值传递给隐藏的输入类型:
<input type="hidden" value="<%Int32.Parse(RouteData.Values["id"].ToString())"/>
但是,当我使用 Chrome 的工具查看输入元素时,“值”为空。我不知道如何将视图中从 linq 检索的字段传递给控制器中的相应操作。
我的视图是基于实体框架中的表进行强类型化的,而我想要从视图传递到控制器的“id”不在该表中。我不想为一个额外的字段创建一个模型,除非我必须这样做。
我怎样才能做到这一点?