У меня есть datalist и есть гиперссылка в том, что в navigateurl я хочу использовать QueryString. Это DataSource из осины: DataList:использовать параметр для querystring с Eval
public void GalleryListDS()
{
int UserID = Convert.ToInt32(ViewState["UserID"]);
var n = from gi in DataContext.Context.GalleryImages
join g in DataContext.Context.Galleries
on gi.GalleryID equals g.GalleryID
where g.UserID == UserID && gi.IsAlbumImage == true
select new
{
UserID=g.UserID,
GalleryID = g.GalleryID,
ImageDescription = gi.ImageDescription,
GalleryName=g.GalleryName,
ImageFileName = gi.ImageFileName
};
dlGalleryList.DataSource = n;
dlGalleryList.DataBind();
}
И это мой DataList:
<asp:DataList ID="dlGalleryList" runat="server" RepeatColumns="3">
<ItemTemplate>
<div class="gallery">
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("GalleryID","~/Profile/UserImages.aspx?ImgID={0}") %>'>
'<%# Eval("GalleryName")%>'
</asp:HyperLink>
</div>
</ItemTemplate>
</asp:DataList>
Я хочу, чтобы мой QueryString иметь параметр, как так:
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("GalleryID","UserID","~/Profile/UserImages.aspx?ImgID={0}&ProfileID={1}") %>'>
но это не дает желаемого результата.
когда я нажимаю на этой гиперссылке новая страница показать мне Ошибка HTTP 400 - Bad Request. и в строке URL отображается «http: // localhost: 55659/Профиль /% 3C% =% 20Eval% 28% 22GalleryID% 22,% 22UserID% 22,% 22 ~/Профиль/UserImages.aspx? ImgID = {0} & ProfileID = {1}% 22% 29% 20 %% 3E " – user2399248