I Got a prob in repeater . The DoThis method is not firing . wenever i comment QueryString code it works properly. I m not getting it. In Default.aspx, datalist I added OnItemCommand ="DoThis". Check out this code
Default.aspx.cs
-----------------------------
protected void Page_Load( object Sender ,EventArgs e)
{
if (Request.QueryString["viewList"] != null)
{
if (Request.QueryString["viewList"] == "1")
{
mvUser.SetActiveView(viewFile);
DataSet ds = new DataSet();
lblTest.Text = Request.QueryString["viewList"];
FillRepeater();
}
}
}
In ProductLogin
--------------------------
Response.Redirect("Default.aspx?viewList=1");
Default.aspx
-------------------------
<asp:View ID="viewProducts" runat="server">
<%--<asp:UpdatePanel ID="UpdatePanel14" runat="server">
<ContentTemplate>--%>
<asp:Label ID="Label3" runat="server" Text=""></asp:Label>
<asp:Repeater ID="rptProducts" runat="server" EnableViewState="true" OnItemCommand="Create" >
<HeaderTemplate >
<asp:Label ID="lblHeader" runat="server" Text=""></asp:Label>
</HeaderTemplate>
<ItemTemplate >
<table bgcolor="#FFFBFF" style="border-bottom: solid 1px Lavender; border-left: solid 1px Lavender;
border-right: solid 1px Lavender; border-top: solid 1px Lavender">
<tr style="border-bottom:solid 1px LightGrey;border-left:solid 1px LightGrey;
border-right:solid 1px Red;border-top:solid 1px LightGrey">
<td align="left" valign="top" style="border-right:solid 1px LightGrey;border-bottom:solid 1px LightGrey;border-left:solid 1px LighGrey;border-top:solid 1px LighGrey">
<tr><td bgcolor="White" style="border-right: solid 1px LightGrey; border-bottom: solid 1px LightGrey;
border-left: solid 1px LighGrey; border-top: solid 1px LighGrey">
<asp:ImageMap ID="img1" runat="server" Width="150px" Height="150px" ImageUrl="<%#Bind('Product_image')%>"></asp:ImageMap>
</td>
<td bgcolor=Honeydew >
<asp:DataList ID="dlData" runat="server" DataKeyField="prod_doc_id" EnableViewState=true RepeatColumns=3 RepeatDirection=Horizontal OnItemCommand="DoThis">
<ItemTemplate>
<table align="right" style="vertical-align: top">
<tr align="left" valign="top">
<td >
<asp:HiddenField ID="hf1" runat="server" Value="<%#Bind('prod_doc_id')%>" />
<asp:LinkButton ID="lnbProddocs" CommandName="Select" Text="<%#Bind('doc_id')%>" runat="server">
</asp:LinkButton>
</td>
</tr>
</table>
</td>
<td>
</td>
</ItemTemplate>
</asp:DataList></td>
protected void DoThis(object s, DataListCommandEventArgs e)
{
string key = ((DataList)s).DataKeys[e.Item.ItemIndex].ToString();
hf1.Value = key;
DataSet ds = ConDB.getDocLoc(key);
DataTable dt = ds.Tables[0];
try
{
string fileName = dt.Rows[0]["doc_name"].ToString();
string fileLoc = dt.Rows[0]["doc_loc"].ToString();
if (fileName == "" && fileLoc == "")
{
Response.Write("<script>alert('Not Applicable for this product');</script>");
"alert", "alert('The passwords did not match');");
}
else if (fileName == "Not available")
{
Response.Write("<script>alert('Currently Not Available');</script>");
}
else
{
DirectoryInfo dir = new DirectoryInfo(fileLoc);
DataTable FilesTab = new DataTable();
DataColumn dc0 = new DataColumn("TYPE");
DataColumn dc1 = new DataColumn("NAME");
DataColumn dc2 = new DataColumn("PATH");
FilesTab.Columns.Add(dc0);
FilesTab.Columns.Add(dc1);
FilesTab.Columns.Add(dc2)
FileInfo fInfo = new FileInfo(fileName);
lblTest.Text = "Hello" + fileName + fileLoc;
string fExt = fInfo.Extension.ToUpper();
string url = fileLoc + fileName;
string path = Path.GetFullPath(url);
WriteFile(path);
}
}
catch (Exception exc)
{
lblTest.Text = "The requested file is currently not accessible";
}
}