クエリ文字列から値を取得し、それをグリッドビューにバインドする SqlDataSource があります。クエリ文字列の値にバックスラッシュが含まれていない限り、すべてがうまく機能します。バックスラッシュをエスケープするにはどうすればよいですか?
例:
www.example.com?id=testuser -> 動作します。
www.example.com?id=test\user -> 「test\user」が存在するのに機能しません。
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString1 %>"
SelectCommand="SELECT * FROM User WHERE userID = @id">
<SelectParameters>
<asp:QueryStringParameter Name="id"
QueryStringField="id" DbType="String" />
</SelectParameters>
</asp:SqlDataSource>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridViewTask" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="UnitId" HeaderText="UnitId" ReadOnly="True"
SortExpression="UnitId" />
<asp:BoundField DataField="UserName" HeaderText="UserName" ReadOnly="True"
SortExpression="UserName" />
</Columns>
</asp:GridView>
</div>
</form>
ご協力いただきありがとうございます。