由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
DotNet版 - 求救一个小问题
相关主题
请教:asp.net 如何使两个validation有顺序的执行新手请教问题
问一个吵架笨笨,菩萨怕怕stupid C#问题Q: c# datetime nullable objects
stringbuildeRe: 问一个吵架笨笨,菩萨怕怕stupid C#问题asp.net里,每个user加一個用戶头像,头像存在哪个表里?
razor view as email templateC# DateTime to Oracle Date
Newbie ASP.NET questionadd web service
Entity Framework Open Sourcedhow to download a https file
小菜鸟求助,PDF header signature not foundwant to chat with .net developer in Chicago area
be aware different behavior of stringbuilder in .net 4.0query analyzer VS. Stored procedure
相关话题的讨论汇总
话题: cdata话题: end话题: chat话题: message话题: property
进入DotNet版参与讨论
1 (共1页)
t********5
发帖数: 274
1
用ashx做的一个小聊天窗口,问题一,我到处也找不到send的这个button,也不知道怎么做能让
消息send到上边的窗口里去,很迷惑,忘有高手指点
问题二,下边是部分代码,我弄不明白set_chat_message是在哪里设置的,context.Request("set_chat_message")取出来是个什么东西。
user_id和property_id是这里传过去的,可是我不知道set_chat_message是如何设置,从何得来
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
PropertyID = Context.Request("property_id")
UserID = Context.Request("user_id")
SetChatMessage = context.Request("set_chat_message")

If HasData(SetChatMessage) Then
InsertChatMessage(SetChatMessage)
End If
context.Response.Write(XMLResponse())

End Sub
Private Function InsertChatMessage(ByVal message As String) As String
'build chat by selecting from chat table
'VNT_CHAT user_id int, property_id int modified date, chat_xml xml
'format for db storage:
'
'Jeff Taylor xxx_app.fw_users get name
'1291156421 'ConvertToUnixTimestamp
'hey what up 'message var
'

'Dim sb As StringBuilder = New StringBuilder()
End Function
现在我一片混沌状态
a9
发帖数: 21638
2
难道不是button的事件里send上去的?
button是flash的?有源码没?

怎么做能让
Request("set_chat_message")取出来是个什么东西。
user=1&property=<%=PropertyID %>" />这里传过去的,可是我不知道set_chat_
message是如何设置,从何得来
IHttpHandler.ProcessRequest

【在 t********5 的大作中提到】
: 用ashx做的一个小聊天窗口,问题一,我到处也找不到send的这个button,也不知道怎么做能让
: 消息send到上边的窗口里去,很迷惑,忘有高手指点
: 问题二,下边是部分代码,我弄不明白set_chat_message是在哪里设置的,context.Request("set_chat_message")取出来是个什么东西。
: user_id和property_id是这里传过去的,可是我不知道set_chat_message是如何设置,从何得来
: Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
: PropertyID = Context.Request("property_id")
: UserID = Context.Request("user_id")
: SetChatMessage = context.Request("set_chat_message")
:
: If HasData(SetChatMessage) Then

t********5
发帖数: 274
3
我也认为是button的事件里写的
可是我找不到那个button相关的任何代码
是flash,整个页面主要都是flash的,我以前没接触过flash方面的编程,不知道您有
没有什么猜想,我顺着路子去找一找
table.aspx页面,就是有聊天窗口,有send按钮的这个页面
<%@ Page Title="" Language="VB" MasterPageFile="~/Shared/xxxx.master"
AutoEventWireup="false"
CodeFile="table.aspx.vb" Inherits="VNT_table" %>
"Server">










Please download and install

the Adobe Flash player




http://www.adobe.com/go/getflashplayer" target="_blank">
Get Adobe<br />
Flash player







对应的vb文件
Imports xxxx
Imports xxxx.FW
Imports xxxx.FW.Constants
Partial Class VNT_table
Inherits System.Web.UI.Page
Protected PropertyID As String
Protected UserID As String
Protected _currentUser As Permissions.CurrentUser
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.
EventArgs) Handles Me.Init
Dim masterPage As xxxx.FW.Pages.Shared.MASTERPAGE = Me.Master
masterPage.RequiresLogin()
_currentUser = New xxxx.FW.Permissions.CurrentUser
UserID = _currentUser.UserID
PropertyID = "10755" ' Request.QueryString("pid")
If _currentUser.Permissions.EntitlementPermissions.IsInEntitlement(
ENTITLEMENTS.VNT_SELLER) = False Then
Response.Redirect("~/Security/AccessDenied.aspx")
Exit Sub
End If
End Sub
End Class
service.aspx页面
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="service.aspx.vb"
Inherits="VNT_service" %>
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
http://www.w3.org/1999/xhtml">











service.aspx.vb
Partial Class VNT_service
Inherits System.Web.UI.Page
Protected PropertyID As String
Protected UserID As String
Private _currentUser As Permissions.CurrentUser
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.
EventArgs) Handles Me.Load
PropertyID = Context.Request("property_id")
UserID = Context.Request("user_id")
_currentUser = New Permissions.CurrentUser()
If _currentUser.IsLoggedIn Then
Response.Write(XMLResponse())
Response.End()
End If
End Sub
Private Function XMLResponse() As String
Dim _propDetails As xxxx.OSP.Property = New xxxx.OSP.Property
_propDetails.SetDetails(CInt(PropertyID), _currentUser.UserID, False
, "PROPERTY_DETAILS")
Dim sb As StringBuilder = New StringBuilder()
sb.AppendLine("header('Content-Type: text/xml')")
sb.AppendLine("")
sb.AppendLine("")
sb.Append(" sb.Append(_currentUser.UserID)
sb.AppendLine("}]]>
")
'Property info
sb.AppendLine(" ")
sb.Append(" sb.Append(PropertyID)
sb.AppendLine("}]]>
")
sb.Append(" sb.Append(CStr(-1))
sb.AppendLine("}]]>
")
sb.Append(" sb.Append(_propDetails.AddressLine1)
sb.AppendLine("}]]>
")
sb.Append(" sb.Append(ConvertToUnixTimestamp(_propDetails.EndDate))
sb.AppendLine("}]]>
")
sb.Append(" sb.Append("-1")
sb.AppendLine("}]]>
")
sb.Append(" sb.Append("NO")
sb.AppendLine("}]]>
")
sb.AppendLine("
")
sb.AppendLine("
")
End Function
Private Function ConvertToUnixTimestamp(ByVal dt As DateTime) As Double
Dim origin As DateTime = New DateTime(1970, 1, 1, 0, 0, 0, 0)
Dim diff As TimeSpan = dt - origin
Return Math.Floor(diff.TotalSeconds)
End Function
Private Function ConvertFromUnixTimestamp(ByVal timestamp As Double) As
Date
Dim origin As DateTime = New DateTime(1970, 1, 1, 0, 0, 0, 0)
Return origin.AddSeconds(timestamp)
End Function
End Class
service.ashx InsertChatMessage方法中,是领导给我的提示。
Public Class service : Implements IHttpHandler
Protected PropertyID As String
Protected UserID As String
Protected SetFinishTime As String
Protected SetPrivateMode As String
Protected SetChatMessage As String

Public Sub ProcessRequest(ByVal context As HttpContext) Implements
IHttpHandler.ProcessRequest
PropertyID = Context.Request("property_id")
UserID = Context.Request("user_id")
SetFinishTime = Context.Request("set_finish_time")
SetPrivateMode = context.Request("set_private_mode")
SetChatMessage = context.Request("set_chat_message")

If HasData(SetChatMessage) Then
InsertChatMessage(SetChatMessage)
End If

If HasData(SetFinishTime) Then
Dim endDate As DateTime = ConvertFromUnixTimestamp(SetFinishTime)

If ValidDate(endDate) Then
Dim _propDetails As xxxx.OSP.Property = New xxxx.OSP.
Property
_propDetails.PropertyID = PropertyID
_propDetails.EndDate = endDate
_propDetails.UpdateVNTInfo()
End If

End If

If HasData(SetPrivateMode) Then


If SetPrivateMode = "YES" Then
Dim _propDetails As xxxx.OSP.Property = New xxxx.OSP.
Property
_propDetails.PropertyID = PropertyID
_propDetails.VNTPrivate = True
_propDetails.UpdateVNTInfo()
End If

End If

context.Response.Write(XMLResponse())

End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler
.IsReusable
Get
Return False
End Get
End Property

Private Function InsertChatMessage(ByVal message As String) As String
'build chat by selecting from chat table
'VNT_CHAT user_id int, property_id int modified date, chat_xml xml
'format for db storage:
'
'Jeff Taylor xxxx_app.fw_users get name
'1291156421 'ConvertToUnixTimestamp(_
propDetails.EndDate.ToUniversalTime()
'heywhat up 'message var
'

'Dim sb As StringBuilder = New StringBuilder()
End Function

Private Function XMLResponse() As String
Dim _propDetails As xxxx.OSP.Property = New xxxx.OSP.Property
_propDetails.SetDetails(CInt(PropertyID), CInt(UserID), True, "
PROPERTY_DETAILS")
Dim sb As StringBuilder = New StringBuilder()
'sb.AppendLine("header('Content-Type: text/xml')")
sb.AppendLine("")
sb.AppendLine("")
sb.Append(" sb.Append(UserID)
'sb.Append("6555")
sb.AppendLine("]]>
")
'Property info
sb.AppendLine(" ")
sb.Append(" sb.Append(PropertyID)
sb.AppendLine("]]>
")
sb.Append(" 'sb.Append(UserID)
sb.Append("8")'TODO
sb.AppendLine("]]>
")
sb.Append(" sb.Append(_propDetails.AddressLine1)
sb.AppendLine("]]>
")
sb.Append(" sb.Append(ConvertToUnixTimestamp(_propDetails.EndDate.
ToUniversalTime()))
'sb.Append("0")

sb.AppendLine("]]>
")
sb.Append(" sb.Append("6555")'TODO
sb.AppendLine("]]>
")
sb.Append(" If _propDetails.VNTPrivate Then
sb.Append("YES")
Else
sb.Append("NO")
End If
sb.AppendLine("]]>
")
sb.AppendLine("
")

'Offers
sb.AppendLine(" ")

For Each row As DataRow In _propDetails.OfferHistory.Rows
If Not row("OFFER_BY_NAME") = "Starting Price" Then
sb.AppendLine(" ")

sb.Append(" sb.Append(row("BUYER_USER_ID"))
sb.AppendLine("]]>
")

sb.Append(" sb.Append(row("BUYER_NAME"))
sb.AppendLine("]]>
")

sb.Append( " sb.Append("BUYER COMPANY")'TODO
sb.AppendLine("]]>
")


sb.Append( " sb.Append("t**[email protected]")'TODO
sb.AppendLine("]]>
")

' http://vnt.ljgnetwork.com/upload/img/{$offer['buyer_image']]]>\n";
sb.Append( " sb.Append("http://localhost:3065/photos/vnt/profileImage.jpg")'TODO
sb.AppendLine("]]>
")


sb.Append( " sb.Append(row("NET_OFFER"))
sb.AppendLine("]]>
")


sb.Append( " sb.Append(row("DOWN_PAYMENT"))
sb.AppendLine("]]>
")


sb.Append( " sb.Append(row("EARNEST_MONEY_DEPOSIT"))
sb.AppendLine("]]>
")

sb.Append( " 'VNT SORTS TWO TYPES OF FINANCING: 'Traditional Loan, Cash
If Not row("TYPE_OF_FINANCING") Is DBNull.Value Then
If row("TYPE_OF_FINANCING") = "CASH" Then
sb.Append("CASH")
Else
sb.Append("Traditional Loan")
End If
Else
sb.Append("CASH")
End If

sb.AppendLine("]]>
")

sb.AppendLine( "
")
End If
Next

sb.AppendLine("
")
'TODO Build Chat XML from VNT_CHAT

'Chat Messages
sb.AppendLine(" ")
'For Each chat As String In Chats
sb.AppendLine(" ")
sb.AppendLine(" ")

sb.Append(" sb.Append(ConvertToUnixTimestamp(DateTime.Now))
sb.AppendLine("]]>
")

sb.AppendLine(" ")
sb.AppendLine("
")
'Next
sb.AppendLine("
")

sb.AppendLine("
")

return sb.ToString()
End Function
Private Function ConvertToUnixTimestamp(ByVal dt As DateTime) As Double
Dim origin As DateTime = New DateTime(1970, 1, 1, 0, 0, 0, 0)
Dim diff As TimeSpan = dt - origin
Return Math.Floor(diff.TotalSeconds)
End Function
Private Function ConvertFromUnixTimestamp(ByVal timestamp As Double) As
Date
Dim origin As DateTime = New DateTime(1970, 1, 1, 0, 0, 0, 0)
Return origin.AddSeconds(timestamp)
End Function
End Class
还有个lib/data/的目录下有个virtal_table.php,不知道这个文件有没有用,之前这
个页面在令一网站是用php做的,我们要把它的功能抄到我们的网站上来,我们网站是
asp,vb的
里边有一段跟chat相关的代码,
// Add a new chat message id appropriate
if ($err == '' && isset($_GET['set_chat_message']) && strlen($_GET['set_
chat_message']) > 0) {
$sql = "INSERT IGNORE INTO chat_messages SET property_id=" . $mdb2->
quote($property_id);
$sql .= ", user_id=" . $mdb2->quote($logged_in_user_id);
$sql .= ", time_sent=unix_timestamp()";
$sql .= ", message=" . $mdb2->quote($_GET['set_chat_message']);
$query_result =& $mdb2->query($sql);
if (PEAR::isError($query_result)) {
$err = "Problem adding a new chat message! sql=($sql)";
}
}
// Get the chat messages
if ($err == '') {
$sql = "SELECT if(c.user_id = p.seller_id, 'Seller', u.name) AS name, c.
time_sent, c.message ";
$sql .= " FROM chat_messages AS c INNER JOIN users AS u ON c.user_id=u.
id ";
$sql .= " INNER JOIN properties AS p ON c.property_id=p.id ";
$sql .= " WHERE c.property_id='{$property_id}'";
$sql .= " ORDER BY c.time_sent";
$query_result =& $mdb2->query($sql);
if (!PEAR::isError($query_result)) {
while ($row = $query_result->fetchRow(MDB2_FETCHMODE_ASSOC)) {
$messages_array[] = $row;
}
}
}
// Chat Messages
print " \n";
foreach ($messages_array as $message) {
print " \n";
print " \n";
print " \
n";
print " \n";
print "
\n";
}
print "
\n";

【在 a9 的大作中提到】
: 难道不是button的事件里send上去的?
: button是flash的?有源码没?
:
: 怎么做能让
: Request("set_chat_message")取出来是个什么东西。
: user=1&property=<%=PropertyID %>" />这里传过去的,可是我不知道set_chat_
: message是如何设置,从何得来
: IHttpHandler.ProcessRequest

a9
发帖数: 21638
4
看flash源代码啊。

runat=
444553540000
False
Double
As
SetFinishTime)
IHttpHandler
Double
As
set_
c.
>\

【在 t********5 的大作中提到】
: 我也认为是button的事件里写的
: 可是我找不到那个button相关的任何代码
: 是flash,整个页面主要都是flash的,我以前没接触过flash方面的编程,不知道您有
: 没有什么猜想,我顺着路子去找一找
: table.aspx页面,就是有聊天窗口,有send按钮的这个页面
: <%@ Page Title="" Language="VB" MasterPageFile="~/Shared/xxxx.master"
: AutoEventWireup="false"
: CodeFile="table.aspx.vb" Inherits="VNT_table" %>
: : "Server">

t********5
发帖数: 274
5
弱问一下,怎么查看flash的源码

【在 a9 的大作中提到】
: 看flash源代码啊。
:
: runat=
: 444553540000
: False
: Double
: As
: SetFinishTime)
: IHttpHandler
: Double

t********5
发帖数: 274
6
另外,我用浏览器打开flash的时候,画面上是没有这个聊天窗口的

【在 t********5 的大作中提到】
: 弱问一下,怎么查看flash的源码
a9
发帖数: 21638
7
没有源码?那你还搞啥啊。

【在 t********5 的大作中提到】
: 弱问一下,怎么查看flash的源码
t********5
发帖数: 274
8
那flash里没有这个聊天窗口,那么这个聊天窗口里的send按钮跟这flash还会有关系吗

【在 a9 的大作中提到】
: 没有源码?那你还搞啥啊。
t********5
发帖数: 274
9
那个flash是个背景,这个聊天窗口貌似跟那个背景flash不是一体的
a9
发帖数: 21638
10
你好歹弄点东西上来让大家看看吧。要不然咋帮你找?

【在 t********5 的大作中提到】
: 那flash里没有这个聊天窗口,那么这个聊天窗口里的send按钮跟这flash还会有关系吗
c**t
发帖数: 2744
11
URL?

怎么做能让
Request("set_chat_message")取出来是个什么东西。
user=1&property=<%=PropertyID %>" />这里传过去的,可是我不知道set_chat_
message是如何设置,从何得来
IHttpHandler.ProcessRequest

【在 t********5 的大作中提到】
: 用ashx做的一个小聊天窗口,问题一,我到处也找不到send的这个button,也不知道怎么做能让
: 消息send到上边的窗口里去,很迷惑,忘有高手指点
: 问题二,下边是部分代码,我弄不明白set_chat_message是在哪里设置的,context.Request("set_chat_message")取出来是个什么东西。
: user_id和property_id是这里传过去的,可是我不知道set_chat_message是如何设置,从何得来
: Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
: PropertyID = Context.Request("property_id")
: UserID = Context.Request("user_id")
: SetChatMessage = context.Request("set_chat_message")
:
: If HasData(SetChatMessage) Then

t********5
发帖数: 274
12
谢谢a9!
我今天只是照着leader之前让我做的东西做了,我发现只要照着他说的做,就可以实现
,输入信息之后按send按钮,在ashx里SetChatMessage就有值了,然后我把这值存入数
据库,在XMLResponse方法里再把最新的聊天消息都取出来,context.Response.Write
到页面,就实现了聊天消息发送,然后显示到上边窗口。就是速度有点慢,send按钮按
完,要等将近一秒钟,才能把消息反应到窗口里去。
至于按了send按钮,怎么设值到set_chat_message,我仍然不知道。
对于flash代码,目前还未接触过
a9
发帖数: 21638
13
那应该是flash一秒钟刷新一次。

Write

【在 t********5 的大作中提到】
: 谢谢a9!
: 我今天只是照着leader之前让我做的东西做了,我发现只要照着他说的做,就可以实现
: ,输入信息之后按send按钮,在ashx里SetChatMessage就有值了,然后我把这值存入数
: 据库,在XMLResponse方法里再把最新的聊天消息都取出来,context.Response.Write
: 到页面,就实现了聊天消息发送,然后显示到上边窗口。就是速度有点慢,send按钮按
: 完,要等将近一秒钟,才能把消息反应到窗口里去。
: 至于按了send按钮,怎么设值到set_chat_message,我仍然不知道。
: 对于flash代码,目前还未接触过

1 (共1页)
进入DotNet版参与讨论
相关主题
query analyzer VS. Stored procedureNewbie ASP.NET question
MVC Web: How to transfer a dictionary from viewer to contEntity Framework Open Sourced
来做sql题目。小菜鸟求助,PDF header signature not found
一道面筋题目~be aware different behavior of stringbuilder in .net 4.0
请教:asp.net 如何使两个validation有顺序的执行新手请教问题
问一个吵架笨笨,菩萨怕怕stupid C#问题Q: c# datetime nullable objects
stringbuildeRe: 问一个吵架笨笨,菩萨怕怕stupid C#问题asp.net里,每个user加一個用戶头像,头像存在哪个表里?
razor view as email templateC# DateTime to Oracle Date
相关话题的讨论汇总
话题: cdata话题: end话题: chat话题: message话题: property