小编Dic*_*eus的帖子

为什么Linq需要一个"只读"对象属性的setter?

我正在使用Linq DataContext.ExecuteQuery("some sql statement")来填充对象列表

var incomes = db.ExecuteQuery<IncomeAggregate>(sqlIncomeStatement(TimeUnit));
Run Code Online (Sandbox Code Playgroud)

IncomeAggregate是我用来保存此查询记录结果的对象.

YQM是该对象的一个​​属性:

public int Year { get; set; }
public int Quarter { get; set; }
public int Month { get; set; }

public string YQM 
{ 
    get { return string.Format("Y{0}-Q{1}-M{2}", Year, Quarter, Month); } 
}
... more properties
Run Code Online (Sandbox Code Playgroud)

一切都编译好,但当它执行Linq我得到以下错误:

无法为成员'YQM'分配值.它没有定义一个setter.

但显然,我不想"设定"它.Y,Q和M由查询提供给数据库.查询不提供YQM.我是否需要以某种方式更改对象的定义?(我刚开始使用Linq而且我还在加快速度,所以它可能非常简单)

linq setter readonly executequery

5
推荐指数
1
解决办法
1963
查看次数

调用的WebMethod与参数从jQuery的阿贾克斯失败

我对以下问题感到困惑.

我有一个"WebForm1.aspx的"和"WebService1.asmx".当我在WebService WITHOUT参数('HelloWorld')中调用WebMethod时,它工作正常.当我调用Method WITH参数('SayHello')时,它失败了.

它甚至没有命中方法(我没有达到方法中设置的断点).xmlHttpRequest错误是"内部服务器错误"

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }

    [WebMethod]
    public string SayHello(string firstName, string lastName)
    {
        return "Hello " + firstName + " " + lastName;
    }
}
Run Code Online (Sandbox Code Playgroud)



我WebForms1.aspx:

    <div><br />No Parameters </div>
<div id="NoParameters"></div>
<div><br />With Parameters</div>
<div id="WithParameters"></div>


<script type="text/javascript"> …
Run Code Online (Sandbox Code Playgroud)

ajax jquery webforms webmethod

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

ajax ×1

executequery ×1

jquery ×1

linq ×1

readonly ×1

setter ×1

webforms ×1

webmethod ×1