Assuming你声明一个Linq数据源 http://msdn.microsoft.com/en-us/library/bb516252.aspx在您的页面中像这样:
<asp:LinqDataSource ID="LinqDataSource1"
runat="server"
ContextTypeName="MyDataContext"
OnSelecting="LinqDataSource1_Selecting">
<WhereParameters>
<asp:ControlParameter Name="Subject"
ControlID="txtSubject"
PropertyName="Text"
Type="String" />
</WhereParameters>
</asp:LinqDataSource>
Your LinqDataSource.选择 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linqdatasource.selecting.aspx事件处理程序大致应如下所示:
public void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
var db = new MyDataContext())
var subjectFilter = e.WhereParameters("Subject");
var reporters = from spName in db.spReporter()
where spName.Subject.Contains(subjectFilter)
select new Reporter(spName.Id, spName.InqDate, spName.Subject);
e.Result = reporters;
}
或者您可以将“主题”作为输入参数添加到存储过程和数据库中的过滤中。在这种情况下,事件处理程序将如下所示:
public void LinqDataSource1_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
var db = new MyDataContext())
var subjectFilter = e.WhereParameters("Subject");
var reporters = from spName in db.spReporter(subjectFilter)
select new Reporter(spName.Id, spName.InqDate, spName.Subject);
e.Result = reporters;
}
相关资源:
- LinqDataSource - 使用存储过程 http://msdn.microsoft.com/en-us/library/bb516252.aspx#working_with_stored_procedures