request.form из usercontrol

santyaga
Дата: 13.04.2010 21:19:54
Добрый день!
Сразу извиняюсь если создал уже существующую тему(не нашел ничего похожего).
Есть usercontrol
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="JSFormLogon.ascx.cs" Inherits="epam.training.WebForms.UserControls.JSFormLogon" %>
	<div id="tabs">
	  <ul>
		<li><a href="#tabs-1">Autorisation panel</a></li>
		<li><a href="#tabs-2">Registration panel</a></li>		
	  </ul>	 
	  <div id="tabs-1" class="tabs-inner" >				
		<span>Please, enter login</span><br />
		<asp:TextBox ID="tbxLEml" runat="server" style="width: 250px;" /><br />	
		<span>Please, enter password</span> <br />
		<asp:TextBox ID="tbxLPsw" runat="server" style="width: 250px;" /><br />
		<asp:LinkButton ID="lnkLSubmit" runat="server" Text="Submit" /><br />
		<input id="sbtBtn-1" type="button" value="Submit" style="margin: 10px 0 0;" />		
	  </div>
	  <div id="tabs-2" class="tabs-inner">		
		<span>Please, enter email</span><br />
		<input type="text" name="" value="" style="width: 250px;"/> <br />
		<span>Please, enter password</span> <br />
		<input type="text" name="" value="" style="width: 250px;" /> <br />
		<span>Please, enter email</span><br />
		<input type="text" name="" value="" style="width: 250px;"/> <br />
		<span>Please, enter password</span> <br />
		<input type="text" name="" value="" style="width: 250px;" /> <br />
		<input id="sbtBtn-2" type="button" value="Submit" style="margin: 10px 0 0;" />
	  </div>
	</div>
Далее присоединяю к главной
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" 
Inherits="epam.training.WebForms._Default" MasterPageFile="~/MasterPages/Main.Master"%>
<%@ Register Src="~/UserControls/JSFormLogon.ascx" TagName="JSFormLogon" TagPrefix="jsfl" %>
<%@ Register Src="~/UserControls/Search.ascx" TagName="Search" TagPrefix="srch" %>

	<asp:Content ID="hiddenForm" ContentPlaceHolderID="hiddenForm" runat="server">
		<jsfl:JSFormLogon ID="JSFormLogon1" runat="server" />
	</asp:Content>
	
	<asp:Content ID="logonPanel" ContentPlaceHolderID="logonPanel" runat="server">
		<div id="logonDiv" style="float: right; margin: -60px 0 0 0;">
			<a href="#1" onclick="showtabs(); return false;">Enter</a>
			 | 
			<a href="#2" onclick="showtabs(); return false;">Help</a>
		</div>
	</asp:Content>
По нажатию на Enter происходит вызов script'а который отображает модальное окно используя код usercontrol'а. Далее, по нажатию на Submit хочется получить данные из формы.
Каким это образом получить? Многое перепробовал ничего не помогает...Скорее всего я что-то упустил. Подскажите пожалуйста.
santyaga
Дата: 14.04.2010 13:09:17
прости за назойливость, но все же не могу решить данную задачу. Неужели никто не сталкивался. Или проблема является тривиальной и решение находится на поверхности?....
Zoria
Дата: 14.04.2010 13:20:45
santyaga,

во-первых, не понятно, как вы пробовали.
во-вторых, не понятно, о каком Submit идет речь - я вижу в вашем примере их целых 3.

Вообще вариантов 2.
Или использовать asp.net контролы (или же Html-контролы с аттрибутом runat=server). Тогда к их значения можно получить обращаясь к ним по их ID из кода.
Или же пытаться узнавать значения через коллекцию Request.Form[ControlName]
santyaga
Дата: 14.04.2010 13:31:04
В том то и дело что request.form возвращает null. однако если по умолчанию в текстбокс вбито какое-то значение реквест его возвращает. сабмит:
<asp:LinkButton ID="lnkLSubmit" runat="server" Text="Submit" />
мастер пэйдж:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Main.master.cs" Inherits="epam.training.WebForms.MasterPages.Main" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">	
    <meta name="author" content="Luka Cvrk (www.solucija.com)" /> 
	<meta http-equiv="content-type" content="text/html;charset=windows-1251" /> 
	
	<link rel="stylesheet" href="../StyleSheets/default.css" type="text/css" />
	
	<script type="text/javascript" src="scripts/jquery-ui-1.8.custom/js/jquery-1.4.2.min.js"></script>
	<script type="text/javascript" src="scripts/jquery-ui-1.8.custom/js/jquery-ui-1.8.custom.min.js"></script>
	
    <script type="text/javascript">
    
	function showtabs() {		
		$("#tabs").dialog({
		draggable: false,
		resizable: false,		
		bgiframe: true,
		modal: true,		
		width: 500,
		closeText: "X"
	});
	};
	
	function closeDialog() {
		
		$("#tabs").dialog('close');	
	};
	
	$(function(){
	  $("#tabs").tabs();
	});
	
</script>

</head>
<body>	
	<form id="formMainPage" action="post" runat="server">
		<asp:ContentPlaceHolder ID="hiddenForm" runat="server"></asp:ContentPlaceHolder>		
		<div id="content">
			<div>
				<div id="logo"> 
					<p>epam training</p> 
					<h1>Internet Project</h1> 
				</div> 
				<asp:ContentPlaceHolder ID="logonPanel" runat="server"></asp:ContentPlaceHolder>
			</div>			
			<asp:ContentPlaceHolder ID="navPanel" runat="server"></asp:ContentPlaceHolder>
			<asp:ContentPlaceHolder ID="cphMain" runat="server"></asp:ContentPlaceHolder>		
		</div>
	</form>
</body>
</html>
SanSYS
Дата: 14.04.2010 13:31:51
хм... уть больше информации дайте. это модальное окно другого окна браузера?

блог обо всем что посчитал полезным
santyaga
Дата: 14.04.2010 13:36:26
Это модальное окно. могу сбросить солюшн(2.2 мБ).
		protected void Page_Load(object sender, EventArgs e)
		{
			JSFormLogon1.LnkSubmit.Click += new EventHandler(LnkSubmit_Click);
			//if (IsPostBack)
			//{
			//    TextBox tb = JSFormLogon1.FindControl("tbxLEmail") as TextBox;
			//    string s = tb.ClientID;
			//    string s1 = Request.Form[s];
			//}
		}

		void LnkSubmit_Click(object sender, EventArgs e)
		{
			string s1 = Request.Form["tbxLEmll"];
		}	

Это только последние мои попытки остальные уже не вспомню даже..
Zoria
Дата: 14.04.2010 13:56:19
santyaga
В том то и дело что request.form возвращает null. однако если по умолчанию в текстбокс вбито какое-то значение реквест его возвращает. сабмит:

ну да, так оно и работает.
void LnkSubmit_Click(object sender, EventArgs e)
{
tbxLEmll.Text << что возвращает-то?

}

и зачем эта JSFormLogon1.LnkSubmit.Click += new EventHandler(LnkSubmit_Click);
динамика???
santyaga
Дата: 14.04.2010 14:03:32
JSFormLogon1.LnkSubmit.Click += new EventHandler(LnkSubmit_Click);
Это просто еще одна попытка работы. Пробовал и без этой подписки.
Том то и дело что request.form(или tbxEmail.Textx) возвращает null. однако если по умолчанию в текстбокс вбито какое-то значение реквест его возвращает.
Zoria
Дата: 14.04.2010 14:08:42
santyaga

Том то и дело что request.form(или tbxEmail.Textx) возвращает null. однако если по умолчанию в текстбокс вбито какое-то значение реквест его возвращает.

так работает Request.
santyaga
Дата: 14.04.2010 14:14:54
В этом солюшене Request.Form возвращает исключительно значение по умолчанию. Вот в этом и весь вопрос почему? Все мои знакомые разводят руками...
Прикрепленный файл - этот солюшн...