我想知道在创建表单+一些用户控件时我做错了什么,但是在填充textbox字段和submithing jquery对话框表单后,我得到了空的“tbClientName”.text值。我找不到我的错误。
P.S当我添加像Text =“123”这样的文本属性时,我总是得到123,尽管价值要么改变,要么
除此之外,当我插入文本时,它会旁路需要验证器,因此看起来就像在某处删除了值。
在jquery代码之后看起来文本属性值丢失了,有什么建议吗?
以下是相应的代码:
uc_addClient.aspx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="uc_addClient.ascx.cs" Inherits="gamykla.Controls.uc_addClient" %>
<script type="text/javascript">
$(document).ready(function () {
//setup new person dialog
$('#newClient').dialog({
autoOpen: false,
modal: true,
draggable: true,
title: "Pridėti užsakovą",
open: function (type, data) {
$(this).parent().appendTo();
}
});
});
function showDialog(id) {
$('#' + id).dialog("open");
}
function closeDialog(id) {
$('#' + id).dialog("close");
}
</script>
<input id="btnOpenClientAddForm" type="button" value="Pridėti užsakovą" onclick="showDialog('newClient');" />
<asp:Label ID="lblStatus" runat="server"></asp:Label>
<div id='newClient'>
<asp:Label ID="lblClientName" runat="server" Text="Užsakovo pavadinimas:"></asp:Label>
<asp:TextBox ID="tbClientName" runat="server"></asp:TextBox>
<br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" Display="Dynamic" ForeColor="Red" ControlToValidate="tbClientName" ErrorMessage="Būtina įvesti užsakovo pavadinimą."></asp:RequiredFieldValidator>
<asp:Button ID="btnAddClient" runat="server" Text="Pridėti" UseSubmitBehavior="false" OnClick="btnAddClient_Click"/>
</div>
部分来自uc_addClient.aspx.cs
public partial class uc_addClient : System.Web.UI.UserControl
{
private string _clientName;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnAddClient_Click(object sender, EventArgs e)
{
_clientName = tbClientName.Text;
if(!String.IsNullOrEmpty(NewClientName))
{
AddClient();
}
}
}
答案 0 :(得分:0)
您是偶然使用母版页吗?如果是这样,您需要在页面上设置ClientIdMode="Static"
,以便能够以这种方式进行选择。您也可以将一个类分配给控件并以这种方式选择它们。
答案 1 :(得分:-1)
请按以下方式更改文本框声明:
<asp:TextBox ID="tbClientName" runat="server" value="123">
</asp:TextBox>
希望这会有所帮助..