2016-04-08 23 views
0

Aşağıdaki sorunu sorun: Çalışma, asp.net/vb.net/ajax sitesinde Visual Studio 2010 ve HTML5 type="email"'u varolan bir metin kutusu denetiminde kullanmak için çalışıyorum. dokunmatik cihazlar için bir e-posta hedeflenen klavye ekranı ... HTML5 türü ayarı, boş denetim metni özelliğini döndürür

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> 
    </asp:ToolkitScriptManager> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
... 
    <asp:TextBox ID="Email" runat="server" CssClass="txtBox" type="email"></asp:TextBox> 

<asp:Button ID="Confirmation" runat="server" Text="Confirm" CssClass="btnBox" OnClick="Confirmation_Click" OnClientClick="setFocus();" /> 
... 
    </ContentTemplate> 
    <Triggers> 
    <asp:AsyncPostBackTrigger ControlID="Confirmation" EventName="Click" /> 
    </Triggers> 
    </asp:UpdatePanel> 

ama codebehind içinde

, Email.txt boş bir dize döndürüyor. type="email"'u kaldırırsam, her şey yolunda.

Yani bu soruya yalvarırım, tür tanımının metin kutusu denetimi için örtülü type="text" geçersiz kıldığını varsayıyorum, bu nedenle async geri bildirimi için denetimler değerine nasıl erişebilirim? Ya da ben de yapabilir miyim?

msg = String.Format("Email:{0} ", Email.Text) 

GÜNCELLEME:

Ayrıca değerleri alınamadı hala Request.Form ile birlikte temel html elemanı ile talep formu kullanarak ve çalıştığımızda type="email"

... 
        <asp:TextBox ID="Email" name="Email" runat="server" CssClass="txtBox" type="email"></asp:TextBox><br /> 
        <input id="Email1" name="Email1" type="email" CssClass="txtBox" /> 
... 

Codebehind

... 
     If Not Request.Form("Email1") Is Nothing Then 
      temp = Request.Form("Email1").ToString 
     End If 
     If Not Request.Form("Email") Is Nothing Then 
      temp = Request.Form("Email").ToString 
     End If 
... 
.210

ama type="text" değiştirirseniz, tüm öf ... gayet ... herhangi rehberlik için

Teşekkür ...

Dave

cevap

0

Ahh ... Kendi sorumu yanıtlayan ...

Metin kutusunda bulunan "" ifadesi, e-posta ve Framework 4.5'teki (benim tarafımda test edilmeyen) e-posta modlarını ve benzerlerini destekleyecektir, ancak şu anda yükseltemiyorum ve bu yüzden biraz "yaratıcı" çalışma benimle.

Temel olarak bir gizli alan denetimine ekledim ve e-posta alanındaki değeri kodun arkasındaki değer kümesini kullanmasına olanak tanıyan ... değeriyle kontrol etmek için JavaScript'i kullandım. Başkasının daha zarif bir çözüm varsa

<script type="text/javascript"> 
    function setFocus() { 
    ... 
     var hdnEmail = document.getElementById("HDNEmail"); 
     var emlEmail = document.getElementById("Email1"); 
     hdnEmail.value = emlEmail.value; 
    ... 
    } 
</script> 
... 
    <input id="Email1" name="Email1" type="email" class="txtBox" /> 
    <asp:HiddenField ID="HDNEmail" runat="server" ClientIDMode="Static"></asp:HiddenField> 
... 

<asp:Button ID="ctlBTNConfirmation" runat="server" Text="Confirm" CssClass="btnBox" OnClick="Confirmation_Click" OnClientClick="setFocus();" /> 

... 

Codebehind

... 
temp = HDNEmail.Value 
... 

HTH birisi ama ... ekleyin

İlgili konular