我在asp.net 3.5中开发了带有Web表单的网站.我用IIS运行它.它早先工作得很好.但是当我调试它时突然发生了异常.消息是
w3wp.exe [XXXX]中出现未处理的Microsoft .Net Framework异常
每次我尝试运行我的应用程序时都会发生这种情况,但是当我使用Cassini运行网站时,没有例外.当我在IIS上部署html页面时,没有例外.仅在IIS上使用.net应用程序时出现问题.
我尝试了很多我在这里找到的解决方案,但没有解决问题.
怎么了?有人可以帮忙吗?谢谢.
我在View中有代码:
@using (Html.BeginForm("MyAction", "MyController")
{
<input type="text" id="txt" />
<input type="image" src="/button_save.gif" alt="" />
}
Run Code Online (Sandbox Code Playgroud)
如何将txt的值传递给我的控制器:
[HttpPost]
public ActionResult MyAction(string text)
{
//TODO something with text and return value...
}
Run Code Online (Sandbox Code Playgroud) 我有一个简单的模型:
public class MyModel
{
public string Text{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我有一个View,它呈现MyModel的Text属性:
<p>@Model.Text</p>
Run Code Online (Sandbox Code Playgroud)
如何从Text中标记html标签?例如,我有文字" <b>Text</b>".我希望在标记p中获得粗体文本作为结果:
文本
但Razor按原样呈现文本:
<b>Text</b>
Run Code Online (Sandbox Code Playgroud) 我使用 DetailsView 在数据库中插入行。行有字段 id、subcategory_id 等。我想动态填充在 TemplateField 中使用的下拉列表 ddl_subcategories。第一个下拉列表 ddl_categories 的选定项值用作为 ddl_subcategories 生成集合的参数。我尝试使用 UpdatePanel,但方法 DataBind 返回错误“诸如 Eval()、XPath() 和 Bind() 之类的数据绑定方法只能在数据绑定控件的上下文中使用。”。
有网页表格的代码
<asp:DetailsView ID="dvw" runat="server" Height="50px" Width="125px"
AutoGenerateRows="False" DataSourceID="ods"
DefaultMode="Insert" DataKeyNames="Section_id"
OnDataBound="dvw_DataBound" OnItemUpdated="dvw_ItemUpdated"
OnItemCommand="dvw_ItemCommand">
<Fields>
<asp:TemplateField HeaderText="Category" >
<ItemTemplate>
<asp:DropDownList ID="ddl_categories" runat="server" AutoPostBack="true" DataSourceID="ods_categories"
DataTextField="Name" DataValueField="Category_id" OnSelectedIndexChanged="category_select_index_changed"/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Subcategory" >
<ItemTemplate>
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DropDownList ID="ddl_subcategories" runat="server"
SelectedValue='<%# Bind("Subcategory_id") %>' />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddl_categories" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
</ItemTemplate>
</asp:TemplateField>
...
</Fields>
</asp:DetailsView>
Run Code Online (Sandbox Code Playgroud)
有一部分背后的代码:
protected void category_select_index_changed(object sender, …Run Code Online (Sandbox Code Playgroud) 我在字符串中持有方法体.我想动态创建方法.但我不知道,如何设置它的身体.我看到使用CodeDom非常乏味.我看到使用Emit和OpCodes.有没有办法从字符串变量中使用现成的代码?
string method_body = "return \"Hello, world!\";"; //there is method body
DynamicMethod dm = new System.Reflection.Emit.DynamicMethod("My_method",
typeof(string), new Type[] { }); //any way to create method dynamically
//any way to set body
string result = (string)dm.Invoke(...); //I need write result in variable
Run Code Online (Sandbox Code Playgroud) asp.net ×2
razor ×2
c# ×1
codedom ×1
data-binding ×1
dynamic ×1
iis ×1
methods ×1
reflection ×1
tags ×1
updatepanel ×1
w3wp.exe ×1