代码很简单,就是判断一个值然后根据值进行2种操作,大家应该能看懂意思,就是不知这种编程写法行不行???是不是不正规。。我是刚从asp转过来的。net懂的少。.aspx
<asp:repeater id="my" runat="server" EnableViewState="False">
<ItemTemplate>
<a href="<%# DataBinder.Eval(Container, "DataItem.lj").ToString().Trim()==""?DataBinder.Eval(Container, "DataItem.typeid", "more.aspx?typeid={0}"):DataBinder.Eval(Container, "DataItem.lj", "{0}") %>"><%#DataBinder.Eval(Container, "DataItem.typename")%></a>
</ItemTemplate>
</asp:repeater>
.cs
private void Page_Load(object sender, System.EventArgs e)
{
string sql="select * from type order by typeid";
DataView zhuanti=getdataview(sql,"zhuanti");
my.DataSource=zhuanti;
my.DataBind ();
}
<asp:repeater id="my" runat="server" EnableViewState="False">
<ItemTemplate>
<a href="<%# DataBinder.Eval(Container, "DataItem.lj").ToString().Trim()==""?DataBinder.Eval(Container, "DataItem.typeid", "more.aspx?typeid={0}"):DataBinder.Eval(Container, "DataItem.lj", "{0}") %>"><%#DataBinder.Eval(Container, "DataItem.typename")%></a>
</ItemTemplate>
</asp:repeater>
.cs
private void Page_Load(object sender, System.EventArgs e)
{
string sql="select * from type order by typeid";
DataView zhuanti=getdataview(sql,"zhuanti");
my.DataSource=zhuanti;
my.DataBind ();
}
{
string sql="select * from type order by typeid";
DataView zhuanti=getdataview(sql,"zhuanti");
my.DataSource=zhuanti;
my.DataBind ();
}
Page_Load写成这样会好点吧。
(1)后台返回url
前台
<asp:TemplateColumn HeaderText="打开">
<ItemTemplate>
<asp:HyperLink Text="打开" NavigateUrl='<%# myfunc2(DataBinder.Eval(Container.DataItem,"vName"),DataBinder.Eval(Container.DataItem,"iAge"))%> ' Runat="server" Target="_blank" ID="Hyperlink1">
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
后台
protected string myfunc2(object s1,object s2)
{
return "newpage.aspx?name="+s1.ToString()+"&age="+s2.ToString();
}