前台页面代码
<asp:Content ID="Content2" ContentPlaceHolderID="frm_main" runat="server">
<asp:Button ID="btnUploadFile" runat="server" Text="上传资料" OnClick="btnUploadFile_Click" />
<div>
<br />
<asp:Button ID="btnRefresh" OnClick="btnRefresh_Click" runat="server" Style="display: none" />
<asp:DataList runat="server" ID="dlTemplateTypeList" RepeatDirection="Horizontal" DataKeyField="id"
RepeatLayout="Flow" OnItemDataBound="dlTemplateTypeList_ItemDataBound"
Width="100%">
<ItemTemplate>
<br />
<span class="ModuleDetailFieldLabel"><%# Eval("name")%>模板:</span>
<br />
<asp:GridView ID="gvTypeContentList" runat="server" AutoGenerateColumns="False" OnRowDataBound="gvTypeContentList_RowDataBound"
DataKeyNames="type" Width="50%">
<RowStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<Columns>
<asp:BoundField DataField="file_name" HeaderText="名称">
<HeaderStyle/>
</asp:BoundField>
<asp:BoundField DataField="creation_user" HeaderText="管理人">
<HeaderStyle/>
</asp:BoundField>
<asp:BoundField DataField="creation_time" HeaderText="更新时间">
<HeaderStyle />
</asp:BoundField>
<asp:TemplateField HeaderText="下载">
<ItemTemplate>
<asp:LinkButton ID="lbtnEvent" runat="server" Text='<%# Eval("file_type")%>'>LinkButton</asp:LinkButton>
</ItemTemplate>
<HeaderStyle/>
</asp:TemplateField>
<asp:TemplateField HeaderText="操作">
<ItemTemplate>
<asp:Button ID="btnBusinessDel" runat="server" Text="删除" OnClientClick="return confirm('你真的要删除吗?')"
OnClick="btnBusinessDel_Click" CommandArgument='<%#Eval("type") %>' />
</ItemTemplate>
<HeaderStyle/>
</asp:TemplateField>
</Columns>
<HeaderStyle BackColor="#CCCCFF" />
<AlternatingRowStyle BackColor="#FFD2D2" />
</asp:GridView>
<br />
</ItemTemplate>
</asp:DataList>
</div>
<script type="text/javascript">
function refresh() {
document.getElementById('<%=btnRefresh.ClientID%>').click();
}
</script>
</asp:Content>
后台方法
#region dl_TemplateTypeList_ItemDataBound
protected void dlTemplateTypeList_ItemDataBound(object sender, DataListItemEventArgs e)
{
using (SalesFile sales = new SalesFile(CONN_STRING))
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
GridView gvList = (GridView)e.Item.FindControl("gvTypeContentList");
gvList.DataSource = sales.GetSalesKitContents(int.Parse(dlTemplateTypeList.DataKeys[e.Item.ItemIndex].ToString()));
gvList.DataBind();
}
}
}
#endregion
protected void gvTypeContentList_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton lbtnEvent = (LinkButton)e.Row.Cells[3].FindControl("lbtnEvent");
string file_path = (((System.Data.DataRowView)(e.Row.DataItem)).Row["file_path"] + "");
string targetUrl = "";
if (lbtnEvent.Text == "文件")
{
if (File.Exists(Server.MapPath(file_path)))
{
string file_name = Path.GetFileName(file_path);
targetUrl = string.Format("window.open('{0}','_blank','')", file_path.Substring(1));
}
else
{
targetUrl = "alert('文件不存在')";
}
}
else
{
targetUrl = string.Format("window.open('{0}','_blank','')", file_path);
}
lbtnEvent.Attributes.Add("onclick", targetUrl);
}
}
protected void BindSalesKitType()
{
using (SalesFile sales = new SalesFile(CONN_STRING))
{
dlTemplateTypeList.DataSource = sales.GetSalesKitType();
dlTemplateTypeList.DataBind();
}
}
protected void btnBusinessDel_Click(object sender, EventArgs e)
{
using (SalesFile sales = new SalesFile(CONN_STRING))
{
Button btn = (Button)sender;
GridViewRow row = (GridViewRow)btn.NamingContainer;
sales.FileName = row.Cells[0].Text.Trim();
sales.Type = Convert.ToInt32(btn.CommandArgument);
sales.Delete();//对应salesfile类中SQL_DELETE_CMD
BindSalesKitType();
}
}
#region Page_Load
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindSalesKitType();
//string targetUrl = string.Format("window.open('SalesKitsUploadNew.aspx','_blank')");
//btnUploadFile.OnClientClick = targetUrl;
bool isBgLeader = false;
using (CRMCommon common = new CRMCommon(CONN_STRING))
{
isBgLeader = common.GetBgLeader(UserValidate.CurrentUser.ID, null);
}
for (int i = 0; i < dlTemplateTypeList.Items.Count; i++)
{
GridView gvList = (GridView)dlTemplateTypeList.Items[i].FindControl("gvTypeContentList");
if (!isBgLeader)
{
gvList.Columns[4].Visible = false;
}
}
}
}
#endregion
protected void btnRefresh_Click(object sender, EventArgs e)
{
BindSalesKitType();
}
protected void btnUploadFile_Click(object sender, EventArgs e)
{
this.ShowModelessDialog("SalesKitsUploadNew.aspx", 800, 500, "refresh");
}