50分求解,第一题30分,第二题20分
全部使用VS2005/2008
1. 在default的设计界面上画一个按钮再随便写几行字,因为缺省的这几个字字体较大,所以又建立一个StyleSheet.css文件,再其中设定字体大小为12,并应用到default上去。在button1_Click上写一个Alert语句,并执行。
单击按钮后,弹出Alert(注意此时default页面什么也不显示),单击弹出的Alert的OK按钮,又重新显示default页面,发现所有的字体大小等元素都变大了!就跟没有被StyleSheet.css格式化一样。
如果再加一个按钮,让它执行把第一个按钮的Caption变成别的内容,那么大小回复原状。
我分析,可能是执行Alert后没有执行css?如果可能,希望大侠们告诉我程序执行了什么(语句?语块?等等)
另外,程序代码没有判断!Page.IsPostBack
2.如何在GridView上显示CheckBox?没功夫研究了,还是问的快。
谢谢!
全部使用VS2005/2008
1. 在default的设计界面上画一个按钮再随便写几行字,因为缺省的这几个字字体较大,所以又建立一个StyleSheet.css文件,再其中设定字体大小为12,并应用到default上去。在button1_Click上写一个Alert语句,并执行。
单击按钮后,弹出Alert(注意此时default页面什么也不显示),单击弹出的Alert的OK按钮,又重新显示default页面,发现所有的字体大小等元素都变大了!就跟没有被StyleSheet.css格式化一样。
如果再加一个按钮,让它执行把第一个按钮的Caption变成别的内容,那么大小回复原状。
我分析,可能是执行Alert后没有执行css?如果可能,希望大侠们告诉我程序执行了什么(语句?语块?等等)
另外,程序代码没有判断!Page.IsPostBack
2.如何在GridView上显示CheckBox?没功夫研究了,还是问的快。
谢谢!
解决方案 »
- 关于VS2005自带的报表控件 RDLC.现在要做一个饼状图。有会的高手吗?
- 实体类实现接口,接口封装增删改查,如何处理?
- 问一个小问题 c/s的
- WinFrom GridView列宽
- 在windows应用程序里使用TcpListener类的AcceptTcpClient()时出现程序无法关闭的问题
- 关于word的开发,这种方案的可行性。
- winform 如何重画 TabCtrl 的 tabPage
- 写非可视的控件,求做法。找了几天,也不得其门...
- 水晶报表导出word怎么在程序里面设定纸张
- c#通过windowsapi获取外部程序中listbox的值,有的可以获取到,有的获取不到,LB_GETCOUNT都能取到正确数量
- 后缀为DLL和后缀为dll的文件有什么区别吗?
- 请C#高手看看BCD码的转换问题
1.是不是路径不对了啊.你可以用这种方式:
Page.ClientScript.RegisterStartupScript(Page.GetType(),"myscript", "alert('ok')");2.GridView里可以起用ItemTemplate里包括html控件和服务器控件啊
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField ShowHeader="False" HeaderText="选择">
<ItemStyle Width="60px" Wrap="False" />
<HeaderTemplate>
<asp:CheckBox ID="CheckBox1" runat="server"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server"></asp:CheckBox>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("EventID") %>' Visible="false"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle Font-Bold="False" BackColor="#EEEEEE" />
<AlternatingRowStyle BackColor="#EEEEEE" />
</asp:GridView>
<asp:Panel ID="Panel1" runat="server">
<asp:GridView ID="GridView1" runat="server" Width="100%"
AutoGenerateColumns="false"
AllowPaging="True"
PageSize="10"
OnPageIndexChanging="GridView1_PageIndexChanging"
PagerSettings-Mode="NextPrevious"
>
<PagerSettings FirstPageText="首页" LastPageText="尾页" Mode="NextPrevious"
NextPageText="下一页" Position="TopAndBottom"
PreviousPageText="上一页" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ProductId" HeaderText="商品ID"/>
<asp:HyperLinkField DataTextField="Name"
DataTextFormatString="{0:c}"
DataNavigateUrlFields="ProductId"
DataNavigateUrlFormatString="~/Admin/ProductSub.aspx?ProductId={0}"
HeaderText="商品名称"
/>
<asp:BoundField DataField="ListPrice" HeaderText="商品价格" DataFormatString="{0:c}" />
<asp:BoundField DataField="Qty" HeaderText="库存" />
</Columns>
</asp:GridView><br />
<asp:Button ID="Button1" runat="server" Text="删除商品" onclick="Button1_Click" />
</asp:Panel>
Page.ClientScript.RegisterStartupScript(Page.GetType(),"myscript", "alert('ok')");
放在哪里?代替Alert语句?
主页面Page_load--->Alert语句--->回到主页面
这三步程序做了什么,运行了哪些隐藏的/没隐藏的代码(或者是什么也没运行)?
http://www.cnblogs.com/fubeidong/archive/2007/01/19/624529.html
Page.ClientScript.RegisterStartupScript(Page.GetType(),"myscript", "alert('ok')");
Page.ClientScript.RegisterStartupScript来注册脚本快,页面上不会变成空白,比较好
2.添加模板列,编辑模板,拖个CHECKBOX到GRIDVIEW里面即可
我其实是做个用户注册界面。所以有用户名,密码,确认密码三个文本框。下有注册,重置两个按钮。
开始想用自带的验证控件,可问题是,我明明设定一个控件控制一个文本框不为空,但是实际执行结果是每个验证控件都控制着三个文本框(后来我就用一个验证控件设定控制一个文本框用户名不为空,但是密码等那两个控件内容为空时这个控件也起了作用)。所以只好自己在程序中自行验证,就采取了在单击注册按钮时依次判断三个文本框是否为空以及密码,确认密码两个文本框内容是否相等。输出用的是Response.Write("<script language='javascript'>alert('用户名不能为空')</script>");这样的语句,就出现了我上面提的问题。如果用三楼的方法,由于单击注册按钮有可能不确定或依次显示三个警告,我不知道如何更改代码了。当然如果用验证控件就能解决了就更好了。关于第二个问题:3,4,9楼肯定都是正解,但是:
我这个GridView连的是一个Sql2005数据库,表中有一个名叫“选择”的字段,设为Bit类型,(其实这样不做任何更改,只要一绑定Gridview就自动显示为CheckBox形)我现在要在这个Gridview中可以更改这个选择字段,不知道怎么可以更改?
我已经在编辑列中设定选择可以更改,其它列不能更改,但是实际仍然不能更改。并且我要求不能出现“Edit”列。
此GridView开始将数据源在程序中绑定,后来不会将选择列ReadOnly设为false所以就加了一个数据控件和它绑定解决了此问题,并且为此数据控件自动生成了UpdateCommand,但是实际执行仍然不能在GridView上更改“选择”列的数据,我改怎么办呀?实在是刚学,水平不够,请大家见谅。
另外,如果有人能解决在程序中绑定GridView,而又能修改其中任何一列或一行的数据的话,我再给50分。
此难点是 1 在程序代码如何设置列、行(无法确定具体是哪列哪行)可以修改。
2 如何在.CS文件中动态的修改GridView的ItemTemplate(或是在.aspx文件中动态修改?)
<div>
<asp:TextBox ID="TextBox1" runat="server" ValidationGroup="1"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Name cannot be empty" ControlToValidate="TextBox1" ValidationGroup="1"></asp:RequiredFieldValidator><br />
<br />
<asp:TextBox ID="TextBox2" runat="server" ValidationGroup="1"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="Password cannot be empty" ControlToValidate="TextBox2" ValidationGroup="1"></asp:RequiredFieldValidator><br />
<br />
<asp:Button ID="Button1" runat="server" Text="Submit" OnClick="Button1_Click" ValidationGroup="1"/> <br />
<br />
<br />
<br />
<asp:TextBox ID="TextBox3" runat="server" ValidationGroup="2"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="TextBox3"
ErrorMessage="Birthday cannot be empty" ValidationGroup="2"></asp:RequiredFieldValidator><br />
<br />
<asp:TextBox ID="TextBox4" runat="server" ValidationGroup="2"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="TextBox4"
ErrorMessage="Age cannot be empty" ValidationGroup="2"></asp:RequiredFieldValidator><br />
<br />
<asp:Button ID="Button2" runat="server" Text="Submit" OnClick="Button1_Click" ValidationGroup="2"/>
</div>
function checkForm(){
if(document.getElementByID('<%=TextBox1.ClientID%>').value == '')
{
alert("不能为空");
return false;
}
..........
}
2.你现在应该是通过GridView自动绑定数据源,而且设置了AutoGenerateColumns 来自动生成列吧.呵呵
其实你可以把这个属性设置成False,然后通过手动去设置每一个列,可以通过上面4楼中用的<ItemTemplate>进行数据显示.
其中还可以设置<EditTemplate>这是编辑模板,也就是点击编辑时,每个列的状态.你如果只想编辑时修改其中那一个字段,那你只需要把对应的字段这个模板设置一下就行了.
<EditItemTemplate>
<asp:TextBox ID="amtpaid" runat="server" width="56px" height="12px" Font-Size="X-Small" Text='<%# Bind("AmountPaid") %>'></asp:TextBox>
</EditItemTemplate>
Page.ClientScript.RegisterStartupScript(Page.GetType(),"myscript", "alert('ok')"); 2.GridView里可以起用ItemTemplate里包括html控件和服务器控件啊
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField ShowHeader="False" HeaderText="选择">
<ItemStyle Width="60px" Wrap="False" />
<HeaderTemplate>
<asp:CheckBox ID="CheckBox1" runat="server"> </asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server"> </asp:CheckBox>
<asp:TextBox ID="TextBox1" runat="server" Text=' <%# Eval("EventID") %>' Visible="false"> </asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle Font-Bold="False" BackColor="#EEEEEE" />
<AlternatingRowStyle BackColor="#EEEEEE" />
</asp:GridView>