我正在使用asp.net c#和Telerik工具。我的问题是,我想传递价值
:
<script type="text/javascript">
function GetRadWindow() {
var oWindow = null;
if (window.radWindow) oWindow = window.radWindow;
else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
return oWindow;
}
function populateCityName(arg) {
var cityName = document.getElementById("cityName");
cityName.value = arg;
}
function returnToParent() {
//create the argument that will be returned to the parent page
var oArg = new Object();
//get the city's name
oArg.cityName = document.getElementById("cityName").value;
//get a reference to the current RadWindow
var oWnd = GetRadWindow();
//Close the RadWindow and send the argument to the parent page
if (oArg.cityName) {
oWnd.close(oArg);
}
else {
alert("Please fill field");
}
}
</script>
第2页:
function OnClientClose(oWnd, args) {
//get the transferred arguments
var arg = args.get_argument();
if (arg) {
var cityName = arg.cityName;
$get("order").innerHTML = "You chose to fly to <strong>" + cityName + "</strong>";
}
答案 0 :(得分:1)
尝试使用
var cityName = document.getElementById('<%= cityName.ClientID %>');
代替
var cityName = document.getElementById("cityName");
答案 1 :(得分:0)
您可以创建一个Session变量来存储上传的fileContent并在另一个页面上访问它。
对于像TextBox或下拉列表这样的简单文本,您可以直接通过查询字符串发送它们。
像这样创建会话变量。
<强> page1.aspx.cs 强>
Session["FileContent"] = FileUpload1.FileContent;
并在下面的其他页面上访问它;
<强> page2.aspx.cs 强>
if(Session["FileContent"]!=null)
{
Stream fileData = (Stream)Session["FileContent"];
StreamReader reader = new StreamReader(stream);
string imgData = reader.ReadToEnd();
//save imgData to db
}
您无法通过javascript访问其他网页控制值。
如果你不通过这样做document.getElementById("cityName")
得到任何东西,那么这只是意味着,这个页面上没有这种带有id的控件。
尝试使用queryString(或Session变量)传递TextBox文本。
答案 2 :(得分:0)
Telerik特定的API可以帮助您将数据从RadWindow传递到父窗口,您可以使用AjaxManager重新加载上传的文件内容。
考虑此示例演示如何将值从RadWindow传递回拥有页面: http://demos.telerik.com/aspnet-ajax/window/examples/clientsideevents/defaultcs.aspx?product=window