我无法访问<;asp:textbox>;代码隐藏文件中的值
本文关键字:代码 gt 隐藏文件 textbox asp 访问 lt | 更新日期: 2023-09-27 18:13:47
早上好
我有一个网页,上面有一个按钮板。它是在网络不好的加油站使用的,所以每次他们点击按钮在文本框中添加数字时,它都会永远加载,所以我把点击按钮改为javascript。
它工作得很好,但现在当我从文本框中检索值时,后面的代码会得到一个空值(Not null(。
这是我的代码
用于将数字添加到文本框的按钮和文本框
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="OVKWEBAPP.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link rel="stylesheet" type="text/css" href="mainstyle.css" />
<style type="text/css">
.modal
{
position: fixed;
top: 0;
left: 0;
/*background-color: black;*/
z-index: 99;
opacity: 0.8;
filter: alpha(opacity=80);
-moz-opacity: 0.8;
min-height: 100%;
width: 100%;
}
.loading
{
font-family: Arial;
font-size: 10pt;
border: 5px solid #67CFF5;
width: 200px;
height: 100px;
display: none;
position: fixed;
background-color: White;
z-index: 999;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="txtRknr" runat="server" CssClass="txtBoxRknr" PlaceHolder="Rekening Nommer" Enabled="False" autocomplete="off" Width="175px"></asp:TextBox>
<input type="button" id="btnPad1" runat="server" value="1" class="buttonsb" onclick="input(this);"/>
<input type="button" id="btnPad2" runat="server" value="2" class="buttonsb" onclick="input(this);"/>
<asp:Button ID="btnMsg1" runat="server" Text="Gaan Voort" CssClass="buttonsa" OnClick="btnMsg1_Click" />
</form>
</body>
<script type="text/javascript">
function input(e) {
document.getElementById("<%=txtRknr.ClientID %>").value = document.getElementById("<%=txtRknr.ClientID %>").value + e.value;
}
</script>
</html>
这是我在代码隐藏文件中的代码
protected void btnMsg1_Click(object sender, EventArgs e)
{
lblError.Text = "";
//string user = txtRknr.Text;
string user = ((TextBox)FindControl("txtRknr")).Text;
if(user == "")
//if (txtRknr.Text == "")
{
lblError.Text = "ONGELDIGE REKENING NOMMER";
return;
}
}
基本上,所有这些都需要从网站上的按钮板向文本框添加账号。
添加帐户后,他们会单击"继续"按钮,然后代码会检查文本框是否为空。如果文本框不为空,则会连接到数据库以检查其是否有效。
但无论我在文本框中添加多少数字,当我从代码后面访问它时,它仍然是空的。
Enabled="False"
表示您的输入字段将具有disabled
属性。禁用的表单元素不会发布在HTML表单中,这意味着当您从代码后面访问它时,它使用的是文本框的默认值。
如果不希望手动编辑字段,请尝试ReadOnly="True"
而不是Enabled="False"
。
编辑
我猜ASP.NET会阻止你从ReadOnly=True
文本框中读取值,以阻止你做你想做的事情。<asp:HiddenField>
会创建一个<input type="hidden">
,你应该能够写入值并将其正确发布到代码后台。
在行
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="OVKWEBAPP.WebForm1" %>
用Inherits="OVKWEBAPP.default"
替换Inherits="OVKWEBAPP.WebForm1"
试试这个。
Request.Form["by-name-attribute"];