Javascript 指定单击链接时要加载的xml文件
我希望这样,当在主页上单击一个链接时,它会将一个特定的xml文件加载到下一个页面(该页面称为category list.apsx) 此类别列表页面使用Repeater控件方法在页面上显示xml详细信息。我使用了如下示例: 因此,此时repeater脚本看起来如下所示:Javascript 指定单击链接时要加载的xml文件,javascript,asp.net,xml,vb.net,Javascript,Asp.net,Xml,Vb.net,我希望这样,当在主页上单击一个链接时,它会将一个特定的xml文件加载到下一个页面(该页面称为category list.apsx) 此类别列表页面使用Repeater控件方法在页面上显示xml详细信息。我使用了如下示例: 因此,此时repeater脚本看起来如下所示: <script runat="server"> sub Page_Load if Not Page.IsPostBack then dim mycategories=New DataSe
<script runat="server">
sub Page_Load
if Not Page.IsPostBack then
dim mycategories=New DataSet
mycategories.ReadXml(MapPath("categories.xml"))
categories.DataSource=mycategories
categories.DataBind()
end if
end sub
</script>
子页面加载
如果不是Page.IsPostBack,则
dim mycategories=新数据集
ReadXml(映射路径(“categories.xml”))
categories.DataSource=mycategories
categories.DataBind()
如果结束
端接头
在做了一些研究之后,我确实发现有人有同样的问题,解决方法是在主页(即category list.apsx#company1results)的链接中插入#标记,然后在列表页面上插入一些脚本以获取正确的xml文件:
<script type="text/javascript">
var old_onload = window.onload; // Play it safe by respecting onload handlers set by other scripts.
window.onload=function()
{
var categories = document.location.href.substring(document.location.href.indexOf("#")+1);
loadXMLDoc('XML/'+categories+'.xml');
old_onload();
}
</script>
var old_onload=window.onload;//为了安全起见,请遵守其他脚本设置的onload处理程序。
window.onload=function()
{
var categories=document.location.href.substring(document.location.href.indexOf(“#”)+1);
loadXMLDoc('XML/'+categories+'.XML');
old_onload();
}
这来自以下链接:
如何使这两个脚本相互连接?使用查询字符串而不是哈希“#”,更容易,因为查询字符串将发送到服务器端,因此不需要客户端javascript 因此,当调用category list.apsx?cat=company1results时,可以使用以下代码在xml文件之间切换:
Public Sub Page_Load()
If Not Page.IsPostBack Then
Dim cat As String = Request.QueryString("cat")
Dim mycategories As DataSet = New DataSet()
mycategories.ReadXml(MapPath(cat + ".xml"))
categories.DataSource = mycategories
categories.DataBind()
End If
End Sub
您为什么将
mycategories
设置为dynamic
?感谢您的回复Erwin-其当前弹出以下错误-编译器错误消息:BC30002:未定义类型“dynamic”。第22行:Dim mycategories As dynamic=New DataSet()@Jason:我认为完全没有必要将mycategories定义为dynamic
。只需将其更改为DataSet
:Dim mycategories As DataSet=New DataSet()
,现在似乎工作正常谢谢!你对这个更新满意吗?如果是这样,你能编辑你的代码,我会把它标记为correct@DanielHilgarth我将C#转换为VB.Net,我没有注意输出,但是我对您的更新很满意,谢谢!