Asp.net Webforms:ascx中的内联文本阻止编译
我的.ascx文件中有以下snippit:Asp.net Webforms:ascx中的内联文本阻止编译,asp.net,webforms,ascx,Asp.net,Webforms,Ascx,我的.ascx文件中有以下snippit: <%@ Control Language="C#" Inherits="MyCompany.Modules.Discovery.ViewDiscovery" AutoEventWireup="true" CodeBehind="ViewDiscovery.ascx.cs" %> <div id="ViewDiscovery_<asp:Literal ID="litModuleId" runat="server" /&g
<%@ Control Language="C#" Inherits="MyCompany.Modules.Discovery.ViewDiscovery"
AutoEventWireup="true" CodeBehind="ViewDiscovery.ascx.cs" %>
<div id="ViewDiscovery_<asp:Literal ID="litModuleId" runat="server" />"></div>
<script type="text/javascript" src="<asp:Literal ID="litControlPath" runat="server" />carousel-jquery.js"></script>
<script type="text/javascript" src="<asp:Literal ID="litControlPath2" runat="server" />discovery-widget.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var myData = <asp:Literal ID="litContent" runat="server" />;
var myDiscovery = discovery('<asp:Literal ID="litControlPath3" runat="server" />');
myDiscovery.json(myData);
myDiscovery.init("ViewDiscovery_<asp:Literal ID="litModuleId2" runat="server" />");
});
</script>
<%@ Control Language="C#" Inherits="MyCompany.Modules.Discovery.ViewDiscovery"
AutoEventWireup="true" CodeBehind="ViewDiscovery.ascx.cs" %>
<%=this.strContent %>
相关的,或者这里还有其他问题吗
编辑:我曾尝试使用
,但没有成功。这是我的代码背后的一个讽刺:
namespace MyCompany.Modules.Discovery
{
partial class ViewDiscovery : PortalModuleBase, IActionable
{
public string strContent = "Insert Content Here!";
protected void Page_Load(object sender, System.EventArgs e)
{
// Do stuff here!
this.strContent = "My content!";
}
}
}
如果我在ascx文件中执行此操作:
<%@ Control Language="C#" Inherits="MyCompany.Modules.Discovery.ViewDiscovery"
AutoEventWireup="true" CodeBehind="ViewDiscovery.ascx.cs" %>
<div id="ViewDiscovery_<asp:Literal ID="litModuleId" runat="server" />"></div>
<script type="text/javascript" src="<asp:Literal ID="litControlPath" runat="server" />carousel-jquery.js"></script>
<script type="text/javascript" src="<asp:Literal ID="litControlPath2" runat="server" />discovery-widget.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var myData = <asp:Literal ID="litContent" runat="server" />;
var myDiscovery = discovery('<asp:Literal ID="litControlPath3" runat="server" />');
myDiscovery.json(myData);
myDiscovery.init("ViewDiscovery_<asp:Literal ID="litModuleId2" runat="server" />");
});
</script>
<%@ Control Language="C#" Inherits="MyCompany.Modules.Discovery.ViewDiscovery"
AutoEventWireup="true" CodeBehind="ViewDiscovery.ascx.cs" %>
<%=this.strContent %>
…我的页面上没有显示任何内容。浏览一下.ascx文件中“this”的上下文,就会发现它的类型是“ASP.viewdiscovery\u ascx”,而不是我预期的“viewdiscovery”。我没有使用DNN,但对于我认为您正在尝试的操作,内联表达式应该可以工作 在代码隐藏中,您有一些属性(或方法): 然后您可以按如下方式使用它们:
<div id="ViewDiscovery_<%= ModuleId %>" ></div>
<script type="text/javascript" src="<%= ControlPath %>carousel-jquery.js"></script>
<script type="text/javascript" src="<%= ControlPath2 %>discovery-widget.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var myData = <%= Content %>;
var myDiscovery = discovery('<%= ControlPath3 %>');
myDiscovery.json(myData);
myDiscovery.init("ViewDiscovery_<%= ModuleId2 %>");
});
</script>
$(文档).ready(函数(){
var myData=;
var myDiscovery=discovery(“”);
json(myData);
myDiscovery.init(“ViewDiscovery_”);
});
应生成以下HTML:
<div id="ViewDiscovery_1" ></div>
<script type="text/javascript" src="path1/carousel-jquery.js"></script>
<script type="text/javascript" src="path2/discovery-widget.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var myData = somecontent;
var myDiscovery = discovery('path3/');
myDiscovery.json(myData);
myDiscovery.init("ViewDiscovery_2");
});
</script>
$(文档).ready(函数(){
var myData=somecontent;
var myDiscovery=discovery('path3/');
json(myData);
myDiscovery.init(“ViewDiscovery_2”);
});
这是我尝试的第一件事。没有爱。看到我原来的帖子了。所以当你看到页面的Html时,那些占位符没有被填满?您提到的类类型——“ASP.viewdiscovery\U ascx”是由ASP.net生成的,它不应该破坏任何东西。(如果需要的话,您可以覆盖它。)我已经更新了我的答案,以显示运行此操作时生成的HTML。