好吧,我仍然掌握着asp.net和MVC框架,并将我的知识转化为经典的ASP和VB - 所以请保持温和.
我的第一个视图(/ home/details/X)运行良好,这要归功于之前的帮助指向我正确的方向,现在我需要将多个表和查询/视图中的数据添加到MVC视图中(我讨厌SQL和MVC都使用单词视图来表达不同的含义).
我不是在寻找有人为我写答案(除非他们感觉精力充沛),更多的是让某人指出我应该看的正确方向并阅读以理解和做我自己.
我的问题
我需要在此视图中显示多个数据集,并且每个不同的数据集都建立了正确的PK/FK 1-M关系,并且需要对结果记录进行循环.
我以前怎么会这样做
在我的经典ASP时代,我刚刚在页面的头部定义了SQL查询,其中使用了以下行的select语句:
SELECT * FROM query_name
WHERE query_uniquecolumnname = Request.QueryString("value")
Run Code Online (Sandbox Code Playgroud)
完成后,您将设置do而query_name NOT BOF/EOF,然后从该查询中删除您想要的字段名称,这一切都已完成.
我现在如何实现这一目标?
因此,从我的经典ASP知识快速转发,我如何用MVC实现相同的结果?
我希望使用的表/视图已经在我的数据模型中定义了(并且关系显示在那里,我认为这是一个加号),我只需要弄清楚如何在页面中调用它们并使用"详细信息"视图中显示的记录的ID,以确保仅显示相关数据.
提前致谢
继我之前的问题之后,Meder很快就回答了这个问题,这并不好笑,现在在提交可重用的 jQuery 表单的过程中弹出了一个额外的问题,该表单不会使用户离开他们所在的位置。
问题
jQueryserialize()函数在页面内的所有表单上发挥其魔力,而不是在提交的特定表单上。下面的示例代码。
如何捕获表单的唯一名称/ID,并将其替换"form"为$("form").serialize()目标表单的名称,以便仅将其序列化?
表格代码
<form name="contact" id="contact" action="">
<input name="_recipients" type="hidden" value="joe@fake.com" />
<input name="_subject" type="hidden" value="Title" />
...
<fieldset>
<label for="name" id="name_label">Name</label>
<input type="text" name="name" id="name" size="30" value="" class="text-input" />
<label class="error" for="name" id="name_error">This field is required.</label><br />
<label for="email" id="email_label">Return Email</label>
<input type="text" name="email" id="email" size="30" value="" class="text-input" />
<label class="error" for="email" id="email_error">This field is required.</label><br />
<label for="phone" id="phone_label">Return Phone</label>
<input type="text" name="phone" …Run Code Online (Sandbox Code Playgroud) 我需要在地图上显示多个标记,每个标记都有自己的信息窗口.我已经创建了没有问题的单个标记,但不知道如何为每个标记创建infowindows.
我在基于ASP的网站中使用V3 API生成地图,标记是从一组DB记录创建的.通过循环rs并使用相关变量定义marker()来创建标记:
var myLatlng = new google.maps.LatLng(lat,long);
var marker = new google.maps.Marker({
map: map,
position: myLatlng,
title: 'locationname',
icon: 'http://google-maps-icons.googlecode.com/files/park.png'
});
Run Code Online (Sandbox Code Playgroud)
这会在正确的位置创建所有相关标记.
我现在需要做的是,并且不确定如何实现,给每个人提供他们自己独特的信息窗口,我可以使用它来显示与该标记相关的信息和链接.
资源
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script language="javascript">
$(document).ready(function() {
//Google Maps
var myOptions = {
zoom: 5,
center: new google.maps.LatLng(-26.66, 122.25),
mapTypeControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP,
navigationControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.SMALL
}
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
<!-- While locations_haslatlong not BOF.EOF -->
<% While ((Repeat1__numRows <> 0) AND (NOT locations_haslatlong.EOF)) %>
var myLatlng = …Run Code Online (Sandbox Code Playgroud) vbscript jquery asp-classic google-maps-api-3 google-maps-markers
还在学习asp.net和mvc,请温柔:)
当前使用CodeProject上描述的此方法设置MVC视图以使用和显示RSS提要.
我想要做的是当没有为RSS提要返回任何项目时,显示一个自定义文本片段,例如下面的伪代码片段.
If ViewData.Model.Items is not empty
Then run the for loop
Else display "sorry, no items to display"
End If
Run Code Online (Sandbox Code Playgroud)
如果我从表中显示记录,我知道如何从我的经典ASP日做到这一点,是:
If tablename.EOF And tablename.BOF Then...
Run Code Online (Sandbox Code Playgroud)
但是我没有关于如何在.net中实现这一点的第一个线索,特别是当使用for循环渲染结果时.
如果你能指出我应该看的正确方向,我将不胜感激.
我现在只是在使用Dreamweaver的方法做了这么长时间的作弊之后立即了解插入语句(请不要笑).
我想弄清楚的一件事是如何获取新插入记录的ID值,这样如果成功,我可以将用户重定向到该页面.
我已经看过一些关于存储过程的例子,但是目前它们对我来说是双重的,我还没有了解这些,更不用说如何在我的网页中使用它们了.
摘要
我如何使用下面的代码检索用户刚刚插入的记录ID.
工作流程
使用ASP页面(add.asp)上显示的HTML表单,用户将提交插入数据库表(treebay_transaction)的新信息.
在按下提交时,表单数据将传递到另一个页面(add_sql.asp),该页面将提交的数据与其他信息一起提供,并将其插入到所需的表中.
如果插入成功,则treebay_transaction_id在将用户重定向到显示新插入记录的页面之前,需要提取新记录的id值(存储在列中)以用作查询字符串的一部分(view.asp?id =值).
示例代码 - add_sql.asp
<!--#include virtual="/Connections/IntranetDB.asp" -->
...
<html>
<body>
<%
set conn = Server.CreateObject("ADODB.Connection")
conn.ConnectionString = MM_IntranetDB_STRING
conn.Open ConnectionString
...
sql="INSERT INTO treebay_transaction (treebay_transaction_seller,treebay_transaction_start_date,treebay_transaction_expiry_date,treebay_transaction_title,treebay_transaction_transaction_type,treebay_transaction_category,treebay_transaction_description,treebay_transaction_status)"
sql=sql & " VALUES "
sql=sql & "('" & CurrentUser & "',"
sql=sql & "'" & timestampCurrent & "',"
sql=sql & "'" & timestampExpiry & "',"
sql=sql & "'" & Request.Form("treebay_transaction_title") & "',"
sql=sql & "'" & Request.Form("treebay_transaction_transaction_type") & "',"
sql=sql & "'" & …Run Code Online (Sandbox Code Playgroud) 我正在学习如何在我们的Intranet中使用外部XML提要,以更好地为我们的员工服务,并减少他们走出网络以获取内容的需求.
我可以毫无问题地从Feed中呈现基本信息.我来的地方是试图显示一个视频缩略图,作为我选择的布局的一部分.
问题
我试图URL从第一个media:thumbnail元素中获取属性的值以用于img标记,但无论我尝试什么,我似乎无法呈现它的内容.
例如;
<media:thumbnail url='http://i.ytimg.com/vi/CQP_AuT4zXQ/default.jpg'... />
我要从上面的例子中提取和使用的文本是 http://i.ytimg.com/vi/CQP_AuT4zXQ/default.jpg
我怀疑为什么我无法解析这个元素的值与其中有句点(:)分隔符的元素名称有关,和/或我对jQuery的开发知识怀疑我没有调用或试图正确解析此元素或其中的一部分.
我也想渲染它的价值media:keywords,这可以通过理解同一个问题来解决.
用于呈现XML的代码
<script type="text/javascript">
/* learned from http://www.switchonthecode.com/tutorials/xml-parsing-with-jquery */
/* this can be used to parse any file in an XML format */
$(document).ready(function()
{
/*
perform an asynchronous ajax request using the relevant variables
Documentation: http://api.jquery.com/jQuery.ajax/
*/
$.ajax({
type: "GET",
/* define url of xml file to parse */
url: "/pr/rss_repository/youtube.xml",
/* assign it a data type */
dataType: "xml", …Run Code Online (Sandbox Code Playgroud) jquery ×3
asp-classic ×2
asp.net-mvc ×2
ado ×1
asp.net ×1
c# ×1
foreach ×1
javascript ×1
t-sql ×1
vbscript ×1
xml ×1
youtube-api ×1