C# Web用户控件属性

C# Web用户控件属性,c#,asp.net,webusercontrol,C#,Asp.net,Webusercontrol,我知道这是一个初学者的问题,但我不记得怎么做了 我有一个web用户控件,它继承自具有单个属性的接口 所以用户控件在我的aspx页面中看起来像这样 <uc1:PublishPricingCalculator ID="PublishPricingCalculator" runat="server" bookId='<%=book.BookId %>' /> 但是,当我检查从UI传递的值时,我看到的是',而不是我的GUID 我知道我可以使用LoadControl,但有没有办法

我知道这是一个初学者的问题,但我不记得怎么做了

我有一个web用户控件,它继承自具有单个属性的接口

所以用户控件在我的aspx页面中看起来像这样

<uc1:PublishPricingCalculator ID="PublishPricingCalculator" runat="server" bookId='<%=book.BookId %>' />
但是,当我检查从UI传递的值时,我看到的是
'
,而不是我的GUID


我知道我可以使用LoadControl,但有没有办法将C变量传递给我的用户控件?

是的,但您需要使用不同的语法:

bookId=<%# book.BookId %>
bookId=

我得到一个异常“当前上下文中不存在名称“book”。我遗漏了什么吗?这本书是什么?它是代码隐藏中定义的变量吗?如果是的话,它是公共的还是至少是受保护的?它是一个在代码中定义为公共属性的变量。它是一个对象,它的属性之一是bookidbook,它是aspx页面的对象,而不是ASCXBTWMY页面的对象。可能只是意味着我需要加载控制,这将是一个巨大的痛苦,因为这是一个遗留系统,我需要重新编码相当多。
bookId=<%# book.BookId %>