2

嗨,我的代码中有这个:

string input = Request.Url.AbsoluteUri;
string output = input.Substring(input.IndexOf('=') + 1);

这是我的 .aspx 页面:

<asp:TemplateField ShowHeader="False" HeaderText="Some text">
   <ItemTemplate>
     <asp:TextBox ID="txtUrl" Text='<%# String.Concat(@"\Uploads\",Eval("text")) %>' runat="server" onclick="javascript:this.select();"></asp:TextBox>
   </ItemTemplate>
</asp:TemplateField>

我需要这样做:

<asp:TemplateField ShowHeader="False" HeaderText="Some text">
   <ItemTemplate>
     <asp:TextBox ID="txtUrl" Text='<%# String.Concat(@"\Uploads\",output,Eval("text")) %>' runat="server" onclick="javascript:this.select();"></asp:TextBox>
   </ItemTemplate>
</asp:TemplateField>

- 如您所见,我需要使用 string.concat 加入\Uploads\ + 变量输出的值+ Eval("text")在文本框中创建自定义“路径”

非常感谢您!

4

2 回答 2

1

您可以先在后面的代码中编写一个方法:

protected string GetOutput()
{
    string input = Request.Url.AbsoluteUri;
    return input.Substring(input.IndexOf('=') + 1);
}

然后在您的 WebForm 中使用此方法:

<asp:TemplateField ShowHeader="False" HeaderText="Some text">
   <ItemTemplate>
     <asp:TextBox ID="txtUrl" Text='<%# String.Concat(@"\Uploads\", this.GetOutput(), Eval("text")) %>' runat="server" onclick="javascript:this.select();"></asp:TextBox>
   </ItemTemplate>
</asp:TemplateField>
于 2013-04-05T09:47:29.103 回答
1

公开宣布。

public string output = string.Empty; // At the class declaration

output = input.Substring(input.IndexOf('=') + 1); // On page load, etc
于 2013-04-05T09:48:15.627 回答