Category: asp.net

  • GridView vs DataGrid

    dotNet 2.0后,M$推荐使用GridView取代DataGrid(Comparing the GridView and DataGrid Web Server Controls)。在做Testlink测试Case的Chart,然后想在表中插入HTML format的时候出现了奇怪的问题。DataGrid一切正常,GridView貌似对直接插入的HTML进行了encode,HTML原始显示了出来。 狂搜一遍, protected void gvTP_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Cells[1].Text = Server.HtmlDecode(e.Row.Cells[1].Text); } } 这下加入的HTML format就不会给encode咯。

  • GridView mouseover 的高亮

    由于dotnet中获得到的RowStyle中color为System.Drawing.Color类的,所以首先需要将其转换成HTML能够接受的#xxxxxx形式。写了一个函数: string toWebColor(System.Drawing.Color theColor) { if (Convert.ToString(theColor.R, 16) == "0" && Convert.ToString(theColor.G, 16) == "0" && Convert.ToString(theColor.B, 16) == "0") { return "#ffffff"; } else { return "#" + Convert.ToString(theColor.R, 16) + Convert.ToString(theColor.G, 16) + Convert.ToString(theColor.B, 16); } } 下边的程序就是个间隔行设置Attribute的行为: if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.RowState == DataControlRowState.Normal) { e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='orange'"); e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='" +…

  • GridView vs DataGrid, Server.HtmlDecode()

    dotNet 2.0后,M$开始推荐使用GridView取代DataGrid(Comparing the GridView and DataGrid Web Server Controls)。前些天在做Testlink测试Case的Chart,然后想在表中插入HTML format的时候出现了奇怪的问题。DataGrid一切正常,GridView貌似对直接插入的HTML进行了encode,HTML被原原本本地显示了出来。 在MSDN上找到Server类下边有个HTML解码的方法Server.HtmlDecode(),题外话还有个Server.HtmlEncode()的方法。 protected void gvTestPlan_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Cells[1].Text = Server.HtmlDecode(e.Row.Cells[1].Text); } } 这下加入的HTML format就不会给encode了。

  • Autopostback提示“该对象不支持此属性或方法”(Object doesn’t support this property or method)

    在公司调试没有问题,回家改了些许东西,居然DropDownList的Autopostback不起作用了。。。郁闷,google了下。。。 google到的一个解决方法: 问题找到了,原来是最后第二行有个 <asp:button id="submit" runat="server" text="添   加"></asp:button> <asp:button ..="" id="submit"> ====&gt; 变成 <asp:button..>了 晕死,后台里又有 protected System.Web.UI.WebControls.Button submit; 这个东西的,而且 submit 按钮功能一切正常,谁会想到是这个原因。 </asp:button..></asp:button> 和我的情况不符合,只能自己尝试了之了。一一比较两段程序,发现问题了。   <asp:label forecolor="Aqua" id="Label1" runat="server" text="Label"></asp:label>     Test Project:   <asp:dropdownlist autopostback="true" id="listTestProj" runat="server"><pre lang="html4strict">  </pre></asp:dropdownlist> Test Plan: <asp:dropdownlist autopostback="true" id="listTestPlan" runat="server"> </asp:dropdownlist> <asp:button id="submit" onclick="Do_Click" runat="server" text="Submit"> </asp:button> 问题出在Button上,我定义其ID为submit,修改为Do就没有问题了。 <asp:label…