2014-02-14 18 views
0

我想知道我在創建表單+某些用戶控件時做了什麼錯誤,但填充文本框字段和子模式jquery對話框表單後,我得到了空的「tbClientName」.text值。我找不到我的錯誤。在btn點擊方法上的空textboxe.text值

PS當我加入到像文本的文本屬性=「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(); 
     } 
    } 
} 

回答

-1

請改變你的文本框聲明如下:

<asp:TextBox ID="tbClientName" runat="server" value="123"> 

</asp:TextBox> 

希望這會有所幫助..

+0

我的意思是,如果我在調試前手動設置文本屬性,我得到的值應該是 –

0

您是否偶然使用了母版頁?如果是這樣,您需要在頁面上設置ClientIdMode="Static"以便能夠以這種方式進行選擇。您也可以將一個類分配給您的控件並以這種方式選擇它們。

+0

我在配置頁面上籤了ClientIdMode =「Static」,所以它不應該是原因 –

+0

我想我不是跟隨你想要做的事情。你如何期待使用對話框中的值來設置文本框?另外,文本框應該使用Text =「123」,而不是Value =「123」。 – MikeHe

+0

我希望能夠在第一行獲取文本框的文本:protected void btnAddClient_Click(object sender,EventArgs e) { _clientName = tbClientName.Text; –

相關問題