我是ASP.NET的新手,并试图了解事情是如何完成的.我来自C#背景,因此代码隐藏部分很容易,但是像Web开发人员一样思考是不熟悉的.
我有一个包含复选框网格的aspx页面.我有一个按钮,通过Button_Click事件编码,以收集检查哪些行的列表,并从该列表中创建一个会话变量.我的ascx页面的ModalPopupExtender引用了相同的按钮(通过TargetControlID),它控制了ascx页面上的面板.
单击该按钮时,模式弹出窗口将打开,但Button_Click事件永远不会被触发,因此模态不会获取其会话数据.
由于这两个页面是分开的,我不能从aspx.cs代码调用ModalPopupExtender,我无法从ascx.cs代码到达复选框列表,我也看不到填充会话变量的方法然后以编程方式激活其他一些隐藏的按钮或控件,然后打开我的模态弹出窗口.
有什么想法吗?
我有两个目标,让我们给他们打电话Input和Output
Input有属性Input_ID,Label并且有属性和Input_Amt
OutputOutput_IDOutput_Amt
我想在LINQ中执行等效的SQL语句:
SELECT Label, Sum(Added_Amount) as Amount FROM
(SELECT I.Label, I.Input_Amt + ISNULL(O.Output_Amt, 0) as Added_Amount
FROM Input I LEFT OUTER JOIN Output O ON I.Input_ID = O.Output_ID)
GROUP BY Label
Run Code Online (Sandbox Code Playgroud)
对于内部查询,我写的是:
var InnerQuery = from i in input
join o in output
on i.Input_ID equals o.Output_ID into joined
from leftjoin in joined.DefaultIfEmpty()
select new
{
Label = i.Label,
AddedAmount = (i.Input_Amt + leftjoin.Output_Amt)
};
Run Code Online (Sandbox Code Playgroud)
但是,在测试中,语句返回null.是什么赋予了?
另外,在我将所有金额添加到一起后,如何在单个LINQ语句中继续所需的查询并执行组?