问题描述
|
我的.aspx页中有一个隐藏变量。
input type=\"hidden\" runat=\"server\" id=\"isdup\"
现在在后面的代码中,我检查某些条件并相应地为isdup分配一个值。但是,这可能对您没有太大帮助,但这是我在后面的代码中所做的事情。
bool exist = (from n in mCDC.NCDCPoints
where n.EVENT_TYPE_ID == eventID
where n.BeginDate == begin
where n.EndDate == end
select n).Count() > 0;
try
{
if (!exist)
{
//do this before insert so the insert will have correct values
isdup.Value = \"false\";
SaveAllColumnFields(ref ncdc,e);
mCDC.NCDCPoints.InsertOnSubmit(ncdc);
mCDC.SubmitChanges();
//do this after insert because it wont work until the ncdc object
//has been assigned an ID
SaveAllDynamicFields(mCDC,ref ncdc,e);
mCDC.SubmitChanges();
Grid1.CurrentPageIndex = 0;
}
else
{
isdup.Value = \"true\";
System.Windows.Forms.MessageBox.Show(isdup.Value);
}
现在,我需要访问javascript中的isdup。但是,问题在于这些值没有被传递,并且isdup为null。
var showus= document.getElementById(\"<%=isdup.ClientID %>\").value;
alert(showus);
if(showus == \"true\")
{
Showduplicate();
}
所以,请让我知道我一直在做的错误?
解决方法
您是否尝试过:
var showus= document.getElementById(\'<%=isdup.ClientID %>\').value;
更新
页面末尾是JavaScript吗?
更新
尝试将此代码放在页面中:
<asp:HiddenField ID=\"isdup\" runat=\"server\" Value=\"eee\"/>
<script>
var showus = document.getElementById(\"<%=isdup.ClientID %>\").value;
alert(showus);
</script>
这对我有用!
更新
在page_load中...
protected void Page_Load(object sender,EventArgs e)
{
if (!ClientScript.IsStartupScriptRegistered(\"clientscript\"))
{
string script1 = \"<script language=JavaScript>\";
script1 += \"var showus= document.getElementById(\'\" + isdup.ClientID + \"\').value;\";
script1 += \"alert(showus);\";
script1 += \"</script>\";
ClientScript.RegisterStartupScript(typeof(Page),\"clientscript\",script1);
}
我的例子:
protected void pagesTree_NodeClick(object sender,RadTreeNodeEventArgs e)
{
PageStructure page = pageService.GetPage(Guid.Parse(e.Node.Value));
this.LoadPageData(page);
isdup.Value = \"xxx\";
}
更新
bool exist = (from n in mCDC.NCDCPoints
where n.EVENT_TYPE_ID == eventID
where n.BeginDate == begin
where n.EndDate == end
select n).Count() > 0;
if (!ClientScript.IsStartupScriptRegistered(\"clientscript\"))
{
string script1 = \"<script language=JavaScript>\";
script1 += \"var showus= document.getElementById(\'\" + isdup.ClientID + \"\').value;\";
script1 += \"alert(showus);\";
script1 += \"</script>\";
ClientScript.RegisterStartupScript(typeof(Page),script1);
}
try
{
if (!exist)
{
//do this before insert so the insert will have correct values
isdup.Value = \"false\";
SaveAllColumnFields(ref ncdc,e);
mCDC.NCDCPoints.InsertOnSubmit(ncdc);
mCDC.SubmitChanges();
//do this after insert because it wont work until the ncdc object
//has been assigned an ID
SaveAllDynamicFields(mCDC,ref ncdc,e);
mCDC.SubmitChanges();
Grid1.CurrentPageIndex = 0;
}
else
{
isdup.Value = \"true\";
System.Windows.Forms.MessageBox.Show(isdup.Value);
}
, 试试这个JQuery代码。
var showus= $(\"#<%=isdup.ClientID %>\").val();
替换您的“ 9”字段,并使用jquery代码尝试此操作
更新
<asp:HiddenField ID=\"isdup\" runat=\"server\" EnableViewState=\"true\" />
<script type=\"text/javascript\" src=\"http://code.jquery.com/jquery-1.6.1.min.js\"/>
<script type=\"text/javascript\" language=\"javascript\">
$(document).ready(function() {
var showus = $(\"#<%=isdup.ClientID %>\").val();
alert(showus);
if (showus == \"true\") {
Showduplicate();
}
});
</script>