当从代码隐藏(C#)调用Javascript函数时,该函数不起作用
我有一个javascript函数:当从代码隐藏(C#)调用Javascript函数时,该函数不起作用,javascript,c#,Javascript,C#,我有一个javascript函数: <script type="text/javascript"> function montaDataSubstituicaoPrestador(dt_exclusao) { var arrData = dt_exclusao.split('/'); var exclusaoFormatada = arrData[1] + '-' + arrData[0] + '-' + arrDat
<script type="text/javascript">
function montaDataSubstituicaoPrestador(dt_exclusao) {
var arrData = dt_exclusao.split('/');
var exclusaoFormatada = arrData[1] + '-' + arrData[0] + '-' + arrData[2];
var dias = parseInt(prazoSubPrestador);
var novaData = new Date(arrData[2], arrData[1] - 1, arrData[0]);
novaData.setDate(novaData.getDate() + dias);
hoje = new Date(novaData)
dia = hoje.getDate()
mes = hoje.getMonth()
ano = hoje.getFullYear()
if (dia < 10)
dia = "0" + dia
if ((mes + 1) < 10)
mes = "0" + (mes + 1);
if (ano < 2000)
ano = "19" + ano
var dt = dia + "/" + (mes) + "/" + ano;
document.getElementById('lblPrazoSubsAns').innerHTML
= "Prazo de substituição: " + dt;
}
</script>
这是行不通的。什么也没发生。我该怎么办
如果我这样做,工作,但参数为空:
ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
"_montaDataSubstituicaoPrestador",
"montaDataSubstituicaoPrestador(null);", true);
但是,如果改变不起作用。不接受连接字符:
ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
"_montaDataSubstituicaoPrestador",
"montaDataSubstituicaoPrestador(" + nova_data + ");", true);
这样,我就有了这个错误:
参数列表后未捕获的语法错误(缺少)
为什么?尝试从
ClientScriptManager cs = Page.ClientScript;
cs.RegisterClientScriptBlock(this.GetType(), "MontaDataExclusaoPrazoANS", "montaDataSubstituicaoPrestador(" + calDataExclusao.Date + ")", true)
到
以及
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "_montaDataSubstituicaoPrestador", "montaDataSubstituicaoPrestador(" + nova_data + ");", true);
到
因为javascript不将直接参数理解为参数,所以在连接时必须使用单引号指定它。
希望它能工作尝试将您的功能从
ClientScriptManager cs = Page.ClientScript;
cs.RegisterClientScriptBlock(this.GetType(), "MontaDataExclusaoPrazoANS", "montaDataSubstituicaoPrestador(" + calDataExclusao.Date + ")", true)
到
以及
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "_montaDataSubstituicaoPrestador", "montaDataSubstituicaoPrestador(" + nova_data + ");", true);
到
因为javascript不将直接参数理解为参数,所以在连接时必须使用单引号指定它。
希望它能起作用试试这个:
protectedvoid btnSUbmit\u单击(对象发送方,事件参数e)
{
字符串检查=“你好”;
Page.ClientScript.RegisterStartupScript(this.GetType(),“myScript”,“MontaDataSubstitucOprestador(“+check+”)”),true);
}
试试这个:
protectedvoid btnSUbmit\u单击(对象发送方,事件参数e)
{
字符串检查=“你好”;
Page.ClientScript.RegisterStartupScript(this.GetType(),“myScript”,“MontaDataSubstitucOprestador(“+check+”)”),true);
}
脚本中有一个语法错误,prazoSubPrestador
未定义……该语法错误将在该错误之后停止JavaScript的执行error@Jaco,你有理由。我会更正并看看会发生什么。您的脚本中有一个语法错误,prazoSubPrestador
未定义……该语法错误将在之后停止JavaScript的执行error@Jaco,你有理由。我会纠正,看看会发生什么。你提出两种方法。你有什么建议吗?不,不,事实上我刚刚纠正了你的功能。但javascript后端任何函数的参数都需要单引号。因此DOM可以很容易地理解解析函数。你有什么建议吗?不,不,事实上我刚刚纠正了你的功能。但javascript后端任何函数的参数都需要单引号。因此DOM可以很容易地理解解析函数。
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "_montaDataSubstituicaoPrestador", "montaDataSubstituicaoPrestador('" + nova_data + "');", true);