GridView displaying in display mode but not in browser ASP.NET C# -
i'm relatively new asp.net. problem trying create gridview , bind data using datatable. gridview element shows in design mode of vs 2012, when run in browser(ie), nothing displays. have bound data, there data entered in , have emptydatatext set value, confused why nothing displaying on page gridview element. if set other labels outside of gridview displays fine, not believe hosting issue. when turn autogeneratecolumns value true, nothing happens. @ extremely appreciated.
<%@ page language="c#" autoeventwireup="true" codebehind="default.aspx.cs" inherits="tester.default" %> <!doctype html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>this page.</title> <style type="text/css"> table { border: 2px dashed #00ff00; padding: inherit; margin: inherit; width: auto; height: auto; top: auto; right: auto; bottom: auto; left: auto; background-color: #0000ff; color: #ffffff; font-weight: bold; } </style> </head> <body> <form runat="server" id="myform"> <asp:gridview autogeneratecolumns="false" id="gv" runat="server" width="1000px" visible="true" bordercolor="red" emptydatatext="where data???"> <columns> <asp:templatefield> <itemtemplate> <asp:label runat="server" text="testing123">label gridview</asp:label> </itemtemplate> </asp:templatefield> <asp:boundfield datafield="venlogo" headertext="id" /> <asp:boundfield datafield="venname" headertext="website" /> <asp:boundfield datafield="venweb" headertext="url" htmlencode="false" /> </columns> </asp:gridview> </form> </body> </html>
here codebehind
using system; using system.collections.generic; using system.linq; using system.web; using system.web.ui; using system.web.ui.webcontrols; using system.io; using system.data; using system.text; namespace tester { public partial class default : system.web.ui.page { gridview gv = new gridview(); protected void page_load(object sender, objectdatasourcestatuseventargs e) { if (!page.ispostback) { gv.datasource = datatable(); gv.databind(); gv.visible = true; } } private datatable datatable() { datatable datatable = new datatable(); datatable.columns.add("venlogo", typeof(string)); datatable.columns.add("venname", typeof(string)); datatable.columns.add("venweb", typeof(string)); addnewrow("logo url", "google", "http://google.com", datatable); addnewrow("logo url", "facebook", "http://facebook.com", datatable); return datatable; } private void addnewrow(string id, string website, string url, datatable table) { datarow row = table.newrow(); row["venlogo"] = id; row["venname"] = website; //get url geturl method string link = geturl(website, url); row["venweb"] = httputility.htmldecode(link); table.rows.add(row); } private string geturl(string website, string url) { return "<a href=\"" + url + "\">" + website + "</a>"; } } }
i not sure, want add gridview dynamically page or use 1 markup? if first, need add statement
myform.controls.add(gv);
to page_load. if latter, don´t need
gridview gv = new gridview();
but can reference gv markup it´s id.
by way, have change parameter type of page_load:
protected void page_load(object sender, eventargs e)
Comments
Post a Comment