1.隐藏上左右边框(填空式) body
2.隐藏上下左右边框 .tbx_txt |
asp.net的多行TextBox随内容增加自动增高而不显示滚动条!
<asp:TextBox runat="server" TextMode="MultiLine" Style="overflow-x: hidden; overflow-y: auto;" Height="303px" Width="661px"></asp:TextBox> 转载:http://wzjsblog.blogbus.com/logs/48173513.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script type="text/javascript"> <span class="notice">请点击“插入一行”按钮,插入最新信息,当出现滚动条时,滚动条将自动保持在底部。</span><br /> <asp:TextBox ID="TextBox1" runat="server" Height="100px" TextMode="MultiLine" Width="400px"></asp:TextBox> |
ASP.NET动态生成TextBox并获取其值
动态生成的文本框,生成的是HTML控件,所以获取文本框的值 控时,要注意获取的方法,不同时间获取的方法不同.(页面一架载完时的值 和 控件的原有值改变时 两种情况)
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//创建一个文本框
TextBox tbxName = new TextBox();
tbxName.ID = "tbxName";
tbxName.Text = "OK";
this.form1.Controls.Add(tbxName);
//创建一个按钮
Control c = ParseControl("<asp:Button Text = '按我' ID = 'myButton' runat = 'server' />");
this.form1.Controls.Add(c);
//创建一个按钮事件
Button myButton = (Button)Page.FindControl("myButton");
myButton.Command += new CommandEventHandler(this.myButton_Click);
}
protected void myButton_Click(Object sender, EventArgs e)
{
//获取文本框的值
由于动态生成的文本框,生成的是HTML控件,所以获取文本框的值只能用
string strTxtValue=Request.form["txtName"].toString()
来获取,而不能用
TextBox tb=(TextBox)this.page.form.FindControl("txtName")
string strTxtValue=tb.Text
来获取(亲身体验获取不到更改后的值),因为生成的是HTML控件,而不是Web控件,tb获取的值是最初的值
}
}
另:
protected void btnSave_Click(object sender, EventArgs e)
{
ArrayList al = new ArrayList();
al.Add(txtAname1); //txtAname1 为TextBox 的 id ,代表 TextBox 类型,不是字符串
al.Add(txtAname2);
al.Add(txtAname3);
al.Add(txtAname4);
string[] txtid = { "txtAname1", "txtAname2", "txtAname3", "txtAname4" };
#region 修改
//问题
mTQI = bTQI .GetModel(int.Parse(Request.QueryString["ID"]));
mTQI.QName = Request.Form["txtQname"].ToString().Trim();
mTQI.Qcreatetime = DateTime.Parse(Request.Form["txtQcreatetime"].Trim());
mTQI.Qa = Request.Form["txtQa"].Trim();
mTQI.Qislist = Request.Form["DropDownList1"].Trim();
//mTQI.Qcreatetime = DateTime.Parse(txtQcreatetime.Text.Trim()); //这三行获取不到改变的值
//mTQI.Qa = txtQa.Text;
//mTQI.Qislist = DropDownList1.SelectedValue;
//答案
List<JC.Model.t_Answerinfo> lTai2 = new List<JC.Model.t_Answerinfo>();
DataSet ds = bTAI.GetList("aQid="+Request.QueryString["ID"]+"");
lTai2 = bTAI.DataTableToList(ds.Tables[0]);
for (int i = 0; i < lTai2.Count;i++ )
{
//TextBox txt = (TextBox)FindControl("txtAname1");
string st = Request.Form[txtid[i].ToString()].ToString();
lTai2[i].Aname = st;
}
//修改
numTQ = bTQI.Update(mTQI);
for (int i = 0; i < lTai2.Count; i++)
{
bTAI.Update(lTai2[i]);
}
if (numTQ > 0)
{
btnSave.Enabled = false;
ClientScript.RegisterStartupScript(GetType(), "", "<script type='text/javascript'>alert('修改成功'); window.location.href='VoteList.aspx';</script>");
}
#endregion
}
}
.aspx与.aspx.cs页面的代码分别分别如下:
1、.aspx页面的代码如下:
-----------------------------------------------------------------------------------------------------------
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Textbox控件</title>
<script type="text/javascript" language="javascript">
var defaultUsername="请输入用户名...";
var defaultPassword="请输入密码...";
function clearName() /*当光标移动到用户名输入框时,如果输入框内无内容或者内容等于默认值,则将输入框的默认提醒值"请输入用户名..."清空*/
{
var username=document.forms[0]['tb_username'].value;
if(username==defaultUsername ||username=="")
document.forms[0]['tb_username'].value="";
}
function checkName()/*当光标移出用户名输入框时,如果用户没有往用户名输入框中输入任何内容,则将输入框的值置为默认值提醒值"请输入用户名..."*/
{
var username=document.forms[0]['tb_username'].value;
if(username==""||username==defaultUsername )
document.forms[0]['tb_username'].value=defaultUsername;
}
function clearPassword() /*当光标移动到密码输入框时,如果输入框内无内容或者内容等于默认值,则将输入框的默认提醒值"请输入密码..."清空*/
{
var password=document.forms[0]['tb_password'].value;/*获取用户名输入框的内容*/
if(password==defaultPassword ||password=="")
document.forms[0]['tb_password'].value="";
}
function checkPassword()/*当光标移出密码输入框时,如果用户没有往密码输入框中输入任何内容,则将输入框的值置为默认值提醒值"请输入密码..."*/
{
var password=document.forms[0]['tb_password'].value;
if(password==""||password==defaultPassword )
document.forms[0]['tb_password'].value=defaultPassword;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="用户名:"></asp:Label>
<span id="username" style="color:Maroon;"><asp:TextBox ID="tb_username" runat="server" OnFocus="clearName()" OnBlur="checkName()"></asp:TextBox></span>
<br />
<br />
<asp:Label ID="Label2" runat="server" Text="密 码:"></asp:Label>
<asp:TextBox ID="tb_password" runat="server" OnFocus="clearPassword()" onBlur="checkPassword()"></asp:TextBox>
</div>
</form>
</body>
</html>
---------------------------------------------------------------------------------------------------------------------------------
2、.aspx.cs页面的关键代码如下:(注:我这个页面的命名叫:Textbox.aspx.cs)
-------------------------------------------------------------------------------------------------------------------------------
protected void Page_Load(object sender, EventArgs e)
{
string defaultUsername = "请输入用户名...";
string defaultPassword = "请输入密码...";
if (!IsPostBack)
{
tb_username.Text = defaultUsername;
tb_password.Text = defaultPassword;
}
//if (tb_username.Text == defaultUsername)
// tb_username.ForeColor = System.Drawing.Color.Blue;
//if (tb_password.Text == defaultPassword)
// tb_password.ForeColor = System.Drawing.Color.Red;
}
------------------------------------------------------------------------------------------------------------------------------
3、截图:
Asp.Net如何遍历所有TextBox控件并清空
asp.net 不能像window那样直接遍历this.Controls就可以了,因为:
下面使用递归对页面control树进行完全遍历 private void ResetTextBox(ControlCollection cc) 调用 ResetTextBox(this.Controls); /// <summary> Code
|
今天看了一老外写的通过CSS和JS给TextBox添加水印功能,觉得很不错,标记以便以后使用
<style type="text/css">
.WaterMarkedTextBox
{
height: 16px;
width: 168px;
padding: 2px 2 2 2px;
border: 1px solid #BEBEBE;
background-color: #F0F8FF;
color: gray;
font-size: 8pt;
text-align: center;
}
.WaterMarkedTextBoxPSW
{
background-position: center;
height: 16px;
width: 168px;
padding: 2px 2 2 2px;
border: 1px solid #BEBEBE;
background-color: #F0F8FF;
color: white;
vertical-align: middle;
text-align: right;
background-image: url(Images/psw_wMark.png);
background-repeat: no-repeat;
}
.NormalTextBox
{
height: 16px;
width: 168px;
}
</style>
<script language="javascript" type="text/javascript">
function Focus(objname, waterMarkText) {
obj = document.getElementById(objname);
if (obj.value == waterMarkText) {
obj.value = "";
obj.className = "NormalTextBox";
if (obj.value == "User ID" || obj.value == "" || obj.value == null) {
obj.style.color = "black";
}
}
}
function Blur(objname, waterMarkText) {
obj = document.getElementById(objname);
if (obj.value == "") {
obj.value = waterMarkText;
if (objname != "txtPwd") {
obj.className = "WaterMarkedTextBox";
}
else {
obj.className = "WaterMarkedTextBoxPSW";
}
}
else {
obj.className = "NormalTextBox";
}
if (obj.value == "User ID" || obj.value == "" || obj.value == null) {
obj.style.color = "gray";
}
}
</script>
<td>
<asp:TextBox ID="txtUserId" runat="server"
οnfοcus="Focus(this.id,'User ID')"
οnblur="Blur(this.id,'User ID')"
Width="126px" CssClass="WaterMarkedTextBox">User ID</asp:TextBox>
</td>
</tr>
<tr>
<td>
Password
</td>
<td>
<asp:TextBox ID="txtPwd" TextMode="Password"
runat="server" οnfοcus="Focus(this.id,'')"
οnblur="Blur(this.id,'')" Width="126px"
CssClass="WaterMarkedTextBoxPSW" />
</td>t;/td>