我有一个UserControl
用于从用户(银行经理)获得汇率金额,他更喜欢被帐户操作使用.汇率可以从中央银行网络服务加载,但就像用户选择的最终值一样.
它包含一个asp:TextBox
盒子和两个asp:LinkButton
- 获取(汇率)和批准(客户请求).
在批准之前,必须检查文本框值是否存在(by RequiredFieldValidator
)和正确性(by RegularExpressionValidator
和CompareValidator
).
所以问题是 - 如果用户单击"获取"按钮,则也会调用验证并失败.如何为"获取"按钮禁用它但启用"批准"按钮?
我有一个带旗帜的网站.如果单击它,则网站的语言会发生变化.
这是显示标志的代码,这是一个带有post事件的表单:
<?php
$pagename = $_SERVER['REQUEST_URI'];
echo '<form action="'.$pagename.'" method="post">
<input name="formlanguage" type="image" ';
if ($_SESSION['lang'] == 0)
{
echo 'alt="English" src="images/en.png" value="1" ';
}
else
{
echo 'alt="Deutsch" src="images/de.png" value="0" ';
}
echo '/></form>';
?>
Run Code Online (Sandbox Code Playgroud)
以下是对此的响应,这部分总是在IE上失败:
if (isset($_POST['formlanguage']))
{
$_SESSION['lang']=$_POST['formlanguage'];
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么它适用于Chrome但不适用于IE.我假设它可能是IE的设置.但这可能是什么?
我有一种情况,我想使用几个服务器端控件,它们具有客户端状态.我想检查事件发生时的状态(如各种点击),当状态是我想要的时候,我想回发到服务器并进行一些处理.
特别是,我需要确保在我想要回发之前至少有3个不同的控件有选择.由于没有特定的控件可以启动回发,我只想捕获客户端的选择事件,然后调用__doPostBack()(或类似的东西)来启动处理.所以我已经禁用了所有服务器端事件,关闭了autopostback,并连接了一些javascript来处理这个问题.
我已经编写了所有客户端代码并且正在工作,但是我似乎无法让服务器端识别回发.我重写了RaisePostBackEvent,并检查了eventArgument以获取我的自定义参数.这不起作用,因为从不调用RaisePostBackEvent.
启用自动后备功能时,此方法有效(例如,Telerik Radgrid OnSelectChanged服务器端事件).
有关处理此问题的最佳方法的任何建议吗?
更新:
当被问到示例代码时,就像我上面说的那样.不是火箭科学.
使用Javascript:
function CheckState(source, eventArgs) {
// logic to test state of controls
__doPostBack("", "DoMyWork:");
}
Run Code Online (Sandbox Code Playgroud)
然后在代码后面我有:
protected override void RaisePostBackEvent(IPostBackEventHandler source, string eventArgument)
{
if (eventArgument.IndexOf("DoMyWork") != -1)
{
// do my server side work.
}
}
Run Code Online (Sandbox Code Playgroud)
解析度:
因为这有点让人困惑.我只想说明我的解决方案是什么.
我使用了回发中涉及的其中一个控件,并使用它的唯一ID作为控件参数,然后将我的方法用作事件.
在ASP.net C#中,我可以得到一个用户输入到一个名为形式的价值txtName
用Request.Form["txtName"]
.
如何使用javascript/jquery获取值?
我试过了$('#txtName').val()
,但这给了我HTML标记中指定的值,而不是用户输入和提交的值.
我正在尝试创建我的'自定义IsPostBack',我所做的就是创建一个bool属性,
bool test;
public bool MyPostBack
{
get{ test = Page.IsPostBack; return test; }
set{ test = value; }
}
Run Code Online (Sandbox Code Playgroud)
在调试时,如果将值设置为false,则当测试为真时,按下F11后,测试保持不变!我觉得这很奇怪.你知道为什么吗?谢谢.
肯定会被标记为重复的,但经过大量的问题和例子,我无法解决我的问题.
我想要的是?
从客户端java脚本调用asp.net中的服务器端事件处理程序它不在服务器端.我通过设置断点检查它,页面轻弹但没有调用服务器端方法.
关于代码背后的点击事件是
protected void btninsert_Click(object sender, EventArgs e)
{
// my code
}
Run Code Online (Sandbox Code Playgroud)
aspx文件
<asp:Button ID="btninsert" runat="server" ValidationGroup="form" CssClass="btn"
OnClientClick="DoPost()" Text="Save" />
Run Code Online (Sandbox Code Playgroud)
Javascript方法是
function DoPost() {
function DoPost() {
var chk = document.getElementById('<%= chkstatus.ClientID %>');
if (chk.checked)
__doPostBack('<%= btninsert.ClientID %>', 'OnClick');
return true;
//return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我也试过这
__doPostBack('btninsert', 'OnClick');
和__doPostBack('btninsert', '');
和$('btnSubmit').trigger('click');
没有成功.
我究竟做错了什么?
编辑:如果我使用OnClick
的事件则在服务器端事件不论去if condition
的DoPost
方法.
我有一个下拉列表,我从SQL服务器填充数据.
我在Page_Init()
事件中动态填充下拉列表.根据值,选择ListItem.
现在的问题是,当我在下拉列表中选择另一个项目时,在回发后,选择将重置为下拉列表中的第一个项目.
这是我的代码的基本版本,它不起作用:
ArrayList AD_Group_Members = ActiveDirectory.GetMemberOfGroup("AD-Group");
ArrayList ListMachines = SQLQuery.Read("Database", "SELECT idVM, RandomString, Computername, Owner, FROM VM ORDER BY Computername");
for (int i = 0; i < ListMachines.Count; i++)
{
String RandomString = ((Hashtable)ListMachines[i])["RandomString"].ToString();
String Owner = ((Hashtable)ListMachines[i])["Owner"].ToString();
DropDownList DropDownList_Owner = new DropDownList();
DropDownList_Owner.ID = "DropDownList_Owner_" + RandomString;
DropDownList_Owner.Width = Unit.Percentage(95);
DropDownList_Owner.AutoPostBack = true;
DropDownList_Owner.EnableViewState = true;
DropDownList_Owner.SelectedIndexChanged += DropDownList_Owner_SelectedIndexChanged;
Div_Test.Controls.Add(DropDownList_Owner);
for (int y = 0; y < AD_Group_Members.Count; y++)
{
ListItem ListItem = new ListItem(); …
Run Code Online (Sandbox Code Playgroud) 我有服务器端按钮.第一次jquery工作正常但下次jQuery没有下降.我在Update Panel中使用jQuery.
下面是我的Jquery代码.
<script type="text/javascript" src="../../js/jquery-ui-1.11.4.min.js"></script>
<script type="text/javascript">
(function ($) {
$('.mv-spinner').spinner(), $('.mv-action').button(),
$('.table-mv-vouchers').tooltip(), $('.table-mv-vouchers select').selectmenu()
})(jQuery)
</script>
Run Code Online (Sandbox Code Playgroud)
我也在页面加载功能中使用了我的代码,但没有工作.
protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(typeof(UpdatePanel), "scrg", "<script type='text/javascript' src='../../js/jquery-ui-1.11.4.min.js'></script>");
Page.ClientScript.RegisterStartupScript(typeof(UpdatePanel), "scr", "<script type='text/javascript'> (function ($) { $('.mv-spinner').spinner(), $('.mv-action').button(), $('.table-mv-vouchers').tooltip(), $('.table-mv-vouchers select').selectmenu() })(jQuery) </script>");
}
Run Code Online (Sandbox Code Playgroud)
我将如何解决这个问题?回发后jQuery不执行.提前致谢!
我正在尝试在Kentico中构建的场景是在一个Web部件中进行用户操作,导致重新加载/更新第二个Web部件而不重新加载整个页面.
一个例子是将一个项目添加到购物车:如果用户点击"添加购物项目"按钮(第一个webpart),那么页面标题中购物车(第二个webpart)中的项目总数应该更新而不重新加载整页.
我知道如何使用ASP.NET MVC应用程序执行此操作,但我还没有想出如何使用Kentico执行此操作.
我仍然是新手,所以我对于获取跨页面内容的帖子价值感到有些不稳定.
我有一个在线应用程序,我正在制作,到目前为止它主要工作但我遇到了3个字段的问题似乎不想转移,无论我做什么.
我有其他的变量,我所看到的是完全相同的方式,工作正常,但这三个给我带来麻烦
谁能指出我做错了什么?
php代码到目前为止
$notes = $_POST["notes"];
echo "<br>experince <br>";
echo $experince = $_POST["exp"];<--------------
$education = $_POST["education"];
echo "<br>clearnce <br>";
echo $clearance = $_POST["clearance"]; <-----------------
echo "<br>jobname <br>";
echo $jobname = $_POST["jobname"];<--------------
$name = $_POST["username"];
$phone= $_POST["phone"];
$email= $_POST["email"];
$avail =$_POST["availability"];
$subject = "New Online Application: $jobname " ;
$subject .= rand(1000,9999);
Run Code Online (Sandbox Code Playgroud)
valuses来自的html/php代码
Select a Level of Education:<br />
<select name="education">
<option value="None">None</option>
<option value="HighSchool">HighSchool</option>
<option value="BA/BS">BA/BS</option>
<option value="MA/MS">MA/MS</option>
<option value="MBA">MBA</option>
<option value="Ph.D">Ph.D</option>
<option value="Other">Other</option>
</select>
<br>
<br>
Years …
Run Code Online (Sandbox Code Playgroud) 当UpdatePanel在服务器中调用方法时,例如此方法更改
textBox1.Text = "12312"
Run Code Online (Sandbox Code Playgroud)
并且这个textBox1不在updatePanle范围内,它不会改变文本,直到回发发生在页面上
所以我需要在计算并在服务器中查找文本框的文本之后,我需要强制页面进行回发
PLZ可以帮助吗?
postback ×11
asp.net ×8
c# ×4
javascript ×4
jquery ×2
php ×2
ajax ×1
autopostback ×1
forms ×1
kentico ×1
linkbutton ×1
updatepanel ×1
validation ×1
vb.net ×1
viewstate ×1
webforms ×1