有人告诉我,我可以在任何Controller中创建ActionResult并使用User.Identity.Name返回PartialView.然后我可以在我的MasterPage中使用RenderPartialView来显示用户的名字.我试图实现它,但不断收到错误,系统没有看到我的PartialView.请有人请详细解释如何实施?非常感谢你
不幸的是,这个项目的结构方式,Logon没有在Master中呈现.它从WebConfig调用并在AccountController中进行身份验证.
<authentication mode="Forms">
<forms loginUrl="~/Account" timeout="2880"/>
</authentication>
Run Code Online (Sandbox Code Playgroud) 使用jQuery,是否可以调用/ControllerName/GetSomething?parameter=test,而在GetSomething方法中我有以下内容:
public ActionResult Details()
{
filterQuery.OrderBy = Request.QueryString["parameter"];
var contacts = contactRepository.FindAllContacts(filterQuery).ToList();
return View("ContactList");
}
Run Code Online (Sandbox Code Playgroud)
然后fadeOut当前显示的ContactList.ascx用更新的替换它?
是否可以在视图中检测路线值?
比如/pages/create/1我想检查一下是否有1个?
基本上,我想基于这个值渲染一个不同的局部视图,虽然我很确定这可能不是我想要实现的最佳方式.
另外,我可以根据控制器中的值更改视图中呈现的部分视图,而不是执行上述操作.
渲染部分时,部分内的Javascript块是否应该被执行?
例如,假设"_partial_exmaple.html.erb"内部是对alert()的调用.
当我在视图中渲染此部分时,是否会调用此警报?
如果是这样,我做错了,因为部分中包含的Javascript块没有被执行.
在"viewA.html.erb"里面:
<%= render :partial => 'partialA' %>
Run Code Online (Sandbox Code Playgroud)
在"_partialA.html.erb"里面:
<script type="text/javascript">
alert('hi');
</script>
Run Code Online (Sandbox Code Playgroud)
显示"hi"的警报功能未执行.
我正在尝试将旧的ASP.NET应用程序转换为MVC(我只是在学习MVC).我需要在Gridview中显示图像.图像本身作为数据类型图像存储在SQL Server表中.以前使用的代码如下.有人可以建议使用MVC的方法吗?我正在考虑创建一个可以嵌入标准视图的部分页面,但不确定这是否是正确的设计.
谢谢你提前!
` string sqlText = "SELECT * FROM Images WHERE img_pk = " + id;
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString);
SqlCommand command = new SqlCommand(sqlText, connection);
connection.Open();
SqlDataReader dr = command.ExecuteReader();
if (dr.Read())
{
//Response.Write("test");
Response.BinaryWrite((byte[])dr["img_data"]);
}
connection.Close();
}
Run Code Online (Sandbox Code Playgroud)
然后可以使用此图像标记引用它:
<asp:Image Height="73" Width="80" ID="Image1" ImageAlign="Middle" ImageUrl='<%#"viewimage.aspx?id=" + Eval("ImageId") %>' runat="server"/></a></td>
Run Code Online (Sandbox Code Playgroud) 在局部视图中,我加载了一个这样的javascript文件:
<script src="@Url.Content("~/Scripts/Testing.js")" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
在Testing.js,有一些功能定义,这是工作,可以使用文件中定义的功能.
现在我在我的应用程序中执行操作,我的控制器返回另一个(我不加载任何js文件)部分视图.Testing.js在此局部视图中仍可使用定义的函数.
有没有办法"删除"第一个视图中加载的功能?
谢谢,
更新1
我的部分观点,但错误尝试这样做: 文件"〜/查看/ xxxx.cshtml",因为它所谓的"RenderSection"方法不能直接要求.
@section MyScript {
<script src="@Url.Content("~/Scripts/Testing.js")" type="text/javascript"></script>
}
@RenderSection("MyScript", false)
Run Code Online (Sandbox Code Playgroud) 我在C#和Razor中有一个ASP.NET MVC3应用程序.
我使用_Layout.cshtmlVS2010中MVC3应用程序模板的标准.我想在渲染Partial View时添加Javascript代码,View而不是直接在Javascript中添加Javascript _Layout.
我View看起来像这样:
@model MyNameSpace.ViewModels.MyViewModel
@{
ViewBag.Title = "Home Page";
}
<h2>@ViewBag.Message</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Filters</legend>
@{ Html.RenderPartial("Filters", Model.Filters); }
<p>
<input type="submit" value="Submit" />
</p>
</fieldset>
}
Run Code Online (Sandbox Code Playgroud)
我Partial View Filters.cshtml看起来像这样:
@model MyNameSpace.ViewModels.FiltersViewModel
<p>
@Html.DropDownListFor(
x => x.Type,
new SelectList(Model.Types, "Value", "Text"),
"-- select type --"
)
</p>
<p>
@Html.DropDownListFor(
x => x.Category,
new SelectList(Model.Categories, "Value", "Text"),
"-- select category --"
)</p>
<script type="text/javascript"> …Run Code Online (Sandbox Code Playgroud) 是否可以为ASP.NET MVC定义更多文件夹以搜索视图或部分?
例如,如果我浏览到/ home /索引和索引操作返回查看(),ASP.NET MVC将着眼于以下地点:
我想创建另一个文件夹,比如〜/ Views/PartivalViews /,将被搜索.
显然,我正在寻找这种存储我的PartialViews的整洁方式.
我正在开发一个 asp.net mvc web 应用程序。我有一个 WebGrid,我在其中添加了一个页面大小下拉列表,使用户能够选择他们希望每页有多少记录。
动作方法是:-
[OutputCache(CacheProfile = "NoCache")]
public ActionResult Disposed(string filter = null, int page = 1, int? pageSize = null, string sort = "Technology.Tag", string sortdir = "ASC")
{
GridList<DisposedResources> gridrecords = repository.GetDisposedResourcesForGrid(filter, page, pageSize, sort, sortdir, "rack");
ViewBag.PagedSizeOptions = new PageOptions().FilterOptions;
if (Request.IsAjaxRequest())
{
return PartialView("_disposed", gridrecords);
}
return View("Disposed", gridrecords);
}
Run Code Online (Sandbox Code Playgroud)
这是存储库方法:-
public GridList<DisposedResources> GetDisposedResourcesForGrid(string filter, int page, int? pageSize, string sort, string sortdir, string resourcetype)
{
if (!pageSize.HasValue)
{
pageSize = Int32.Parse(System.Web.Configuration.WebConfigurationManager.AppSettings["TechPageSize"]);
} …Run Code Online (Sandbox Code Playgroud) 我正在使用三元运算符有条件地呈现页脚。我正在做@RenderPage,即使它有效,也意味着有一个控制器以及其他一些额外的代码。
我遇到了一个; expected错误,根据 StackOverflow 和一些文档,这是一个通用错误,可能是由许多不同的事情引起的。
我的语法正确吗?或者有什么我想念的吗?
// in this section is a switch statement that sets isNewFooter to true or false depending on which page has loaded.
<div class="body-content">
@RenderBody()
@{
(isNewFooter ? Html.RenderPartial("~/Views/Shared/NewFooter.cshtml") : Html.RenderPartial("~/Views/Shared/OldFooter.cshtml"))
}
</div>
Run Code Online (Sandbox Code Playgroud) partial-views ×10
asp.net-mvc ×6
c# ×3
javascript ×3
asp.net ×2
jquery ×2
ajax ×1
c#-4.0 ×1
gridview ×1