Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将lambda表达式转换为字符串类型,因为它不是委托类型_C#_Asp.net Mvc_Lambda - Fatal编程技术网

C# 无法将lambda表达式转换为字符串类型,因为它不是委托类型

C# 无法将lambda表达式转换为字符串类型,因为它不是委托类型,c#,asp.net-mvc,lambda,C#,Asp.net Mvc,Lambda,我正在尝试创建具有以下结构/代码的链接按钮: <%:school => string.Format("<a class='add' href='{0}' title='Add {1} to {4}'><img class='pic2' alt='{2}' src='{3}'/></a>", Url.Action("AddSchoolToParty", "PartyS

我正在尝试创建具有以下结构/代码的链接按钮:

<%:school => string.Format("<a class='add' href='{0}' title='Add {1} to {4}'><img class='pic2' alt='{2}' src='{3}'/></a>",
                                          Url.Action("AddSchoolToParty", "PartySchool",
                                          new { partyId = Model.PartyId, schoolId = school.SchoolId }),
                                          School.EntityName, string.Empty,
                                          Url.Content("~/Content/images/addImage.png"),
                                          School.EntityName)%>
我得到的错误是:

CS1660:无法将lambda表达式转换为类型“string”,因为它不是委托类型

这是否也是创建链接的正确格式,以及我所拥有的信息

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Kids.MVC.Models.ViewModels.SchoolFormViewModel>" %>

<%@ Import Namespace="Kids.Resources" %>
<%@ Import Namespace="Kids.Resources.Entities" %>
<%@ Import Namespace="MvcContrib.Pagination" %>
<%@ Import Namespace="MvcContrib.UI.Grid" %>
<%@ Import Namespace="MvcContrib.UI.Pager" %>
<%: Html.ValidationSummary(true, Message.ValidationErrorSummary, new{@class= "error"}) %>
<%=Html.DatePickerEnable() %>
这是我在另一个页面中使用的一种格式,这是我想在没有列和字符串的标签中重写的按钮链接。format-我想知道重写此链接的正确方法

试着这样做:

<a class="add" href="<%: Url.Action("AddSchoolToParty", "PartySchool", new { partyId = Model.PartyId, schoolId = Model.SchoolId }) %>" title="<%: string.Format("Add {0} to {0}", School.EntityName) %>">
    <img class="pic2" alt="" src="<%: Url.Content("~/Content/images/addImage.png") %>" />
</a>

但为了避免这种难看的标签汤,我建议您编写一个自定义HTML帮助程序,使语法更加清晰。

您是使用System.Linq添加的吗;输入html代码?是的,为什么要使用lambda@JoshuaEnfield当我删除它时,它以红色显示schooldId=school.SchoolId中的school,无法解析符号。我们需要更多。学校是从哪里来的?是什么学校?这是你模型的一部分吗?您的意思是键入S chool以引用可能的静态类,如下面的行吗?请注意大写字母:这个列变量是什么?这是无效的语法。你在使用第三方控制吗?如果是这样的话,您应该清楚地说明是哪一个。感谢您的帮助,我真的很感激您的帮助-我尝试了您建议的代码,它看起来很棒,但是现在当我在页面上使用它时,我得到了以下错误:System.Data.SqlClient.SqlException:INSERT语句与外键约束School\u PartySchool\u FK1冲突。冲突发生在数据库Kids表dbo.School列'SchoolId'中。该语句已终止。我真的不明白此代码段与此异常有什么关系。我想这是完全无关的。
<a class="add" href="<%: Url.Action("AddSchoolToParty", "PartySchool", new { partyId = Model.PartyId, schoolId = Model.SchoolId }) %>" title="<%: string.Format("Add {0} to {0}", School.EntityName) %>">
    <img class="pic2" alt="" src="<%: Url.Content("~/Content/images/addImage.png") %>" />
</a>