我想从代码后面传递一些参数到javascript函数。我的Javascript功能如下。如何发送arg到这个功能。从服务器端代码。
function addTab(tabid,tablist) {
//to Find the Panel
var Panel = $find("<%=RadPanelBar2.ClientID %>");
//To find the Tab Strip
var tabStrip = Panel._findItemByValue("QueueGridPanel").findControl("RadTabStrip2")
tabStrip.get_tabs().clear();
var newTabNames = "MyTab1,MyTab2,MyTab3";
//var newTabNames = document.getElementById("ctl00_GridContentPlaceHolder_hfTabs").value;
var TabsNames = newTabNames.split(',');
var i = 0;
while (i < TabsNames.length) {
var ntab = new Telerik.Web.UI.RadTab();
tabStrip.get_tabs().add(ntab);
ntab.set_text(TabsNames[i]);
i++;
}
return false;
}
答案 0 :(得分:3)
在MSDN上查看RegisterClientScriptBlock。您可以使用它在回发后插入Javascript。
String csName = "myScript";
Type csType = this.GetType();
// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
// Check to see if the client script is already registered.
if (!cs.IsClientScriptBlockRegistered(csType, csName))
{
StringBuilder csText = new StringBuilder();
csText.Append("<script type=\"text/javascript\"> ");
csText.Append("addTab(" + myTabID + ", " + myTabList + "); </");
csText.Append("script>");
cs.RegisterClientScriptBlock(csType, csName, csText.ToString());
}
RegisterClientScriptBlock方法在Page对象元素的开始标记的正下方插入客户端脚本。
答案 1 :(得分:0)
对于您在此处描述的用途,我在全局JavaScript声明中使用asp:Literal控件和泵。
<script type="text/javascript">
var FirstNameId = "<%=Me.txtFirstName.ClientID%>";
var MiddleNameId = "<%=Me.txtMiddleName.ClientID%>";
var LastNameId = "<%=Me.txtLastName.ClientID%>";
</script>
然后,当我以后需要它们时,它们可用于整个页面。